Vim常用命令

最近带了一些小伙伴开始Linux系统,而说到了Linux,就要提到一对儿兄弟:神之编辑器Emacs和编辑器之神Vim。这对儿兄弟放在任何论坛都能引起南北大战,为了避开这个环节,我只说明本人现在比较喜欢用Vim。

好了,进入正题,这个文章只是记录VIM常用命令的一个笔记。

最常用的命令我就放在后面了,毕竟总的来说越常用的命令记得越纯熟,一般是不需要在这里查看的。

标签

在学校使用笔记本的时间比较多,所以对于小屏幕来说标签页比分屏更适合我们。

  • 打开标签

    :table [filename]
    

    顾名思义,就是在一个新的标签页中打开文件,这样可以同时比对内容什么的。

  • 切换标签

    :gt
    :gT
    

    字面意思就是“goto table”,其中gt是切换到下一个标签页,而gT是切换到上一个标签页。

分屏

在对比内容或者同步修改内容的时候,分屏浏览多个文件往往更加合适。

  • 在左半边中打开新的文件

    :vs [filename]
    
  • 分屏的命令

    • 切换窗口

      CTRL+w w
      CTRL+w [方向键]
      

      方向键在多个窗口中更加明确,而且也好记。

    • 关闭窗口

      CTRL+w q
      
    • 分割窗口

      CTRL+w s
      CTRL+w v
      

      “s“就是 split。
      “v”就是 vertical split。

查找和替换

这个部分很重要!

  • 查找

    /[target string]
    ?[target string]
    

    “/“是向后查找,而”?”是向前查找。

    n
    N
    

    “n”是继续查找下一个匹配,而”N”是继续查找上一个匹配。

  • 替换

    :%s/[old string]/[new string]/g
    :%s/[old string]/[new string]/gc
    

    “%s”在这里你就记忆成替换命令就可以了。
    最后的”g”是指替换整个文章的内容, 字面意思是:global。
    最后的”c”是指每次替换前都需要向我确认一下,字面意思是:confirm。

移动光标

这就是Vim能够作为高效编辑器的核心所在之一。

  • 上下左右

    h,j,k,l
    [键盘上的箭头]
    
  • 翻页

    CTRL+f
    CTRL+b
    

    f是forward的意思,也就是继续翻页:翻下一页
    b就是backword的意思,也就是往回翻页:翻上一页。

  • 跳转

    :[line number]
    

    跳转到某行

    w
    

    跳到下一个首字母,word。

    e
    

    跳到下一个字尾,end of word。

    b
    

    跳到上一个字, back word。

    0
    

    对,这就是数字0,跳到行首。

    $
    

    对,就是美刀的符号,跳到行尾。

    gd
    

    跳到光标所在变量的申明处,goto defination

复制、粘贴与删除、恢复

  • 删除并复制

    dd
    

    删除整行

    dw
    

    删除单词:delete word

    x
    

    删除字符:老式打字机的覆盖涂改,用x放在字符上。

  • 复制

    yy
    

    复制整行

    yw
    

    复制单词

    y$
    

    复制到行末

  • 粘贴

    p
    

    粘贴到后面

    ]p
    

    有缩进的粘贴

  • 恢复

    u
    

    恢复操作:Undo。

编辑

  • 缩进

    ==
    

    自动缩进当前行

    >>
    <<
    

    将当前行右移或者左移一个Tab单位