Vim 快捷键

Author Avatar
Yusank 4月 07, 2017

Vim 快捷键

一. 移动:

h,j,k,l: 左,下,上,右。
w: 下一个词的词首。
e:下一个词的词尾。

​ b:上一个词的词首。

<>: v 模式选中后进行缩进。

二. 跳转:

%: 可以匹配{},"",(),[]之间跳转。
H、M、L:直接跳转到当前屏幕的顶部、中部、底部。

“#H”:跳转到当前屏的第#行。 // 由于markdown语法原因,加上了双引号,实际用的时候没有双引号的, 以下所有加引号的雷同。

“#L”:跳转到当前屏的倒数第#行。

zt: 当前编辑行置为屏顶。
zz: 当前编辑行置为屏中。
zb: 当前编辑行置为屏底。
G:直接跳转到文件的底部。
gg: 跳转到文件首。
():跳转到当前的行首、行尾。
{}:向上、向下跳转到最近的空行。
[{:跳转到目前区块开头。
]}:跳转到目前区块结尾。
0: 跳转到行首。
$: 跳转到行尾。
2$: 跳转到下一行的行尾。

“#”:跳转到该行的第#个位置。

“#G”: 15G,跳转到15行。

:#:跳转到#行。
f'n':跳转到下一个"n"字母后。
ctrl+b: 向后翻一页。
ctrl+f:向前翻一页。
ctrl+u: 向后翻半页。
ctrl+d: 向前翻半页。
ctry+e: 下滚一行。

三. 选择:

1.V: 选择一行。
2.^V: 矩形选择。
3.v3w: 选择三个字符。  

四. 编辑:

  1. 新增:
    i: 光标前插入。

        I: 在当前行首插入。
        a: 光标后插入。
        A: 当前行尾插入。
        O: 在当前行之前插入新行。
        o: 在当前行之后插入新行。
    
  2. 修改 c(change) 为主:
    r: 替换光标所在处的字符。

           R:替换光标所到之处的字符。
           cw: 更改光标所在处的字到字尾处。
           c#w: c3w 修改3个字符。
           C:修改到行尾。
           ci':修改配对标点符号中的文本内容。
           di':删除配对标点符号中的文本内容。
           yi':复制配对标点符号中的文本内容。
           vi':选中配对标点符号中的文本内容。
           s:替换当前一个光标所处字符。
    

    ​ “#S”:删除 # 行,并以新文本代替。

  1. 删除 d(delete) 为主:
    D:删除到行尾。

        X: 每按一次,删除光标所在位置的前面一个字符。
        x: 每按一次,删除光标所在位置的后面一个字符。
    

    ​ “#x”: 删除光标所在位置后面6个字符。

        d^: 删至行首。
        d$: 删至行尾。
        dd:(剪切)删除光标所在行。        
        dw: 删除一个单词/光标之后的单词剩余部分。
        d4w: 删除4个word。
    

    ​”#dd”: 从光标所在行开始删除#行。

    daB: 删除{}及其内的内容。
    diB: 删除{}中的内容。
    n1,n2 d:将n1,n2行之间的内容删除。

  2. 查找:
    /: 输入关键字,发现不是要找的,直接在按n,向后查找直到找到为止。

        ?: 输入关键字,发现不是要找的,直接在按n,向前查找直到找到为止。
        *: 在当前页向后查找同一字。
    

    ​ “#”: 在当前页向前查找同一字。

  3. 复制 y(yank)为主:
    yw: 将光标所在之处到字尾的字符复制到缓冲区中。

    “#yw”: 复制#个字到缓冲区。

     Y:相当于yy, 复制整行。
    

​ “#yy”:表示复制从光标所在的该行往下数#行文字。

    p: 粘贴。所有与y相关的操作必用p来结合粘贴。
    n1,n2 co n3:复制第n1行到第n2行之间的内容到第n3行后面。
    6. 大小写转换:
      gUU: 将当前行的字母改为大写。
              guu: 将当前行的字母改为小写。
              gUw: 将当前光标下的单词改为大写。
              guw: 将当前光标下的单词改为小写。
              a. 整篇大写:
              ggguG
              gg: 光标到文件第一个字符。
              gu: 把选择范围全部小写。
              G: 到文件结束。
              b. 整篇小写:gggUG
    7. 其它:
      J:当前行和下一行合并成一行。
    8. 移动:
      n1,n2 m n3:将n1行到n2行之间的内容移至n3行下。

五.退出:

      1. w filename: 保存正在编辑的文件filename
      2. wq filename: 保存后退出正在编辑的文件filename
      3. q:退出不保存。

六.窗口操作:

      1. ctrl+w p: 在两个分割窗口之间来回切换。
      2. ctrl+w j: 跳到下面的分割窗
      3. ctrl+w h: 跳到左边的分割窗。
      4. ctrl+w k: 跳到上面的分割窗。
      5. ctrl+w l: 跳到右边的分割窗。