经常用到的 VIM 命令

作者: 丰俊文 | 来源:发表于2015-11-06 17:32 被阅读74次

    在使用 Vim 的过程中,经常需要粘贴、替换、跳转等操作,由于我脑子笨,时常记不住,总是依赖 google 帮忙才能完成。所以这次索性就把常用的命令集中梳理一下,通过写文章的方式来强迫自己记住:)

    编辑

    插入

    i:在当前位置插入
    a:在当前位置后插入
    I:在当前行首插入
    A:在当前行尾插入

    删除

    X:删除前一个字符
    s:删除光标所在的字符,光标还在当前行(等同于 x)
    S:删除光标所在的行,光标还在当前行(不同于dd)
    dd:删除一行,光标到下一行
    [N]d+Enter:删除当前行开始的 N 行
    dw,dW:从当前光标处开始删除一个单词(大写包含标点)
    d$:删除当前字符之后的所有字符(本行)
    dk:删除当前行和上一行
    dj:删除当前行和下一行
    kdgg:删除当前行之前所有行(不包括当前行)
    jdG(jd shift + g):删除当前行之后所有行(不包括当前行)
    :1,10d:删除1-10行
    :10d:删除第10行
    :11,$d:删除11行及以后所有的行

    移动和粘贴

    ddp:交换光标所在行和其下紧邻的一行
    xp:交换当前字符和其下一个字符
    ~:将当前字符变换为大写
    [N]>>:一行或N行向右移动一个 tab
    [N]<<:一行或N行向左移动一个 tab
    [N]yy:复制一行或者N行
    yw:复制一个单词
    p:粘贴
    shift+p:在当前行前粘贴
    :1, 10 m 20 将第1-10行移动到第20行之后
    :1,10 co 20 将1-10行插入到第20行之后
    :1,$ co $ 将整个文件复制一份并添加到文件尾部

    光标跳转

    W,E,w,e:以单词为单位,向前跳动,大写包含标点(w 光标落在单词首字母,e 光标落在单词为字母)
    B,b:以单词为单位,向后跳动,大写包含标点
    O(大写字母O):在当前行上方开启新的一行
    o(小写字母o):在当前行下方开启新的一行
    ^:移动到本行第一个非空白字符上
    $:光标移动到一行的结尾
    [N]$:移动到下面 N 行的行尾
    0(数字0):光标移动到本行第一个字符上
    gg:光标移动到文档的开头
    G:光标移动到文档的结尾
    Ctrl + e:向下滚动一行
    Ctrl + y:向上滚动一行
    Ctrl + d:向下滚动半屏
    Ctrl + u:向上滚动半屏
    Ctrl + f:向下滚动一屏
    Ctrl + b:向上滚动一屏

    搜索和替换:

    查找很长的词,如果一个词很长,键入麻烦,可以将光标移动到该词上,按*或#键即可以该单词进行搜索,相当于/搜索;而#命令相当于?搜索。
    /pattern:查找 pattern,按 n 健查找下一个,按 N 键查找前一个
    ?pattern:查找 pattern,反向查找,按 n 健查找下一个,按 N 键查找前一个
    :set ignorecase  忽略大小写的查找
    :set hlsearch  高亮搜索结果,所有结果都高亮显示,而不是只显示一个匹配。
    :set incsearch  逐步搜索模式,对当前键入的字符进行搜索而不必等待键入完成
    n:光标到达搜索结果的下一个目标
    N:光标到达搜索结果的上一个目标
    ra 将当前字符替换为a,当期字符即光标所在字符
    s/old/new/ 用old替换new,替换当前行的第一个匹配
    s/old/new/g 用old替换new,替换当前行的所有匹配
    %s/old/new/g 用old替换new,替换整个文件的所有匹配

    文件和窗口:

    :split file 横向打开一个新窗口,光标停在顶层的窗口上
    :vsplit file 纵向打开一个新窗口,光标停在顶层的窗口上
    Ctrl+w 移动到下一个窗口
    :close 关闭当前窗口
    :open file 在新窗口中打开文件
    :bn 切换到下一个文件
    :bp 切换到上一个文件

    其他

    .:重复最后一个命令
    :!command 执行 shell 命令
    :suspend或Ctrl - Z 挂起vim,回到shell,按fg可以返回vim
    :scriptnames  查看vim脚本文件的位置,比如.vimrc文件,语法文件及plugin等

    个人觉得能够被经常用到的也就这么多,如果以后发现还有其他命令,就再补充吧。。。

    相关文章

      网友评论

        本文标题:经常用到的 VIM 命令

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