VIM语法

作者: 孔李聃丘 | 来源:发表于2019-02-24 14:23 被阅读0次

    详见vim中文手册,这里列出常见的一些用法,来源为csdn博客。

    1. 注释
      写程序之前,第一件事情不是了解语法,而是知道如何写注释。
      vimrc脚本的注释是使用引号(")作行注释。

    2. 变量
      (1) 标量变量
      可以是数字或字符串,基本与perl相同。
      命名方式为:作用域:变量名,常用的有如下几种:
      b:name —— 只对当前buffer有效的变量
      w:name —— 只对当前窗口有效的变量
      g:name —— 全局变量
      v:name —— vim预定义变量
      a:name —— 函数的参变量
      注意:引用标量变量的时候请包含作用域和冒号

    (2) 一类有特殊含义的变量
    命名方式:Fun Character(这个词请参看Programming Perl)加上变量名
    共有三类:
    NAME —— 环境变量(一般变量名都是大写) &name —— 选项(vim处理某些事情的时候的默认设置) @r —— register(寄存器,不是汇编的EAX,EBX,看第2部分vim tips) 常见环境变量例子:VIMRUNTIME —— vim运行路径
    常见选项例子:&ic —— ignorecase
    注:使用set命令可以改变选项设置,例如:
    :set ignorecase
    使用一个set命令可以看到当前所有的选项及其设置。

    (3) 变量赋值
    :let 变量名=值
    注意:最前面的冒号不仅是为了表示这是一个冒号命令,而且是必须的。

    释放变量::unlet! 变量名

    (4) 运算符(和perl基本一样)
    数学运算:+ - * / % .
    逻辑运算:== != > >= < <= ?:
    正则匹配运算符=~ !~

    1. 控制结构
      (1) if 条件
      语句块
      elseif 条件
      语句块
      else
      语句块
      endif
      注意:条件表达式不需要小括号,语句块不需要大括号

    (2) while 条件
    语句块
    [break/continue]
    endwhile

    1. 函数:
      定义:
      function 函数名(参数)
      函数体
      endfunc

    调用:
    在脚本语句中使用 call 函数名(参数)
    在vim命令中使用 :call 函数名(参数)

    注:在函数体中使用参数需要在参数变量名称前加上a:,例如参数名为
    keyword,
    则函数体中使用a:keyword来引用

    注:常用系统函数 参见【附】。

    1. 执行命令,键盘绑定,命令行命令和自动命令
      (1) 执行命令
      exec "命令" —— 用于在vim脚本中执行一系列vim命令
      :!外部命令 —— 这是一个vim命令行命令,功能是调用外部程序
      (2) 键盘绑定 :help map-overview
      vim最大的特点在于可以把所有的操作能够用一个命令字符串表达出来,
      因此这带来了编写脚本的最大的便利。键盘绑定就是一个例子,这个功能允许
      把一个命令字符串绑定到一个按键/按键组合。

    一般格式:映射命令 按键组合 命令组合
    例子:nmap c ^i#<Esc>j
    解释:映射normal模式下的按键c为:^i#<Esc>j,就是在该行开头加上#号
    ,然后下移一行

    常用映射命令:
    map :全模式映射
    nmap :normal模式映射
    vmap :visual模式映射
    imap :insert模式映射

    (3) 命令行命令
    vim支持在启动的时候使用-c开关执行命令字符串,例如:
    $ cat n

    !/bin/sh

    vim -c "set filetype=PERL" -c "s..#!/usr/bin/PERL -w"r"r." -c ":nohlsearch"1
    设置文件类型 写入#!/usr/bin/perl -w
    取消匹配加亮
    $ n myperlfile

    (4) 自动命令
    一般格式:autocmd 事件 文件类型 命令
    例子:au BufNewFile,BufRead *.pl setf perl
    解释:当事件 BufNewFile 和 BufRead 发生在 *.pl 文件上的时候,
    执行命令:setf perl


    作者:谁不小心的
    来源:CSDN
    原文:https://blog.csdn.net/trochiluses/article/details/21776365
    版权声明:本文为博主原创文章,转载请附上博文链接!

    相关文章

      网友评论

          本文标题:VIM语法

          本文链接:https://www.haomeiwen.com/subject/zhzvyqtx.html