点击查看大图

Vim 的 6 种模式

一般模式、编辑模式、命令模式、可视化模式、替换模式(R)、Ex模式。

  1. 在可视化模式下,可以对一个文本块的整体进行操作。例如,首先高亮选中一部分文本,然后用d命令删除这个文本块。可视化模式的好处在于,你可以在做改动之前,就看到操作将影响的文本。可视化模式可以分为以下三种:

    • 用v命令进入的字符可视化模式(Characterwise visual mode)。文本选择是以字符为单位的。

      v : 移动光标可选中多个单词,

      v+i+单引号/双引号/括号等:选中单引号/双引号/括号等内的内容,不包含单引号/双引号/括号等

      v+a+单引号/双引号/括号等:选中单引号/双引号/括号等内的内容,包含单引号/双引号/括号等

    • 用shift+v命令进入的行可视化模式(Linewise visual mode)。文本选择是以行为单位的。(常用)

      如果需要多行编辑,则再按下shift+i 或 shift+a,即可进入批量编辑

    • 用ctrl-V进入的块可视化模式(Blockwise visual mode)。可以选择一个矩形内的文本。(注意:在Windows中,ctrl-V可能已经被影射为粘贴操作,可以使用ctrl-Q进入块可视化模式。)

  2. 命令模式

    • 一般模式下按冒号进入命令模式,eg: w, q, q!

基本使用

  1. 打标签方法:

    m+任意单词如a: 打标签/取消标签

    `+任意单词如a: 标签跳转

  2. cp 操作符: j&k, h&l, a&i, ctrl+f&ctrl+b,

  3. 组合键

    • ctrl+g: 页面最底部出现一个文件状态信息行,显示的内容包含当前编辑的文件路径和文件中光标位置。
    • ctrl+o: 回到之前光标的位置
    • ctrl+]: 链接跳转
    • ctrl+d: 命令补全功能
  4. 命令操作

    • s/old/new/g // 则是替换全行的匹配串
    • %s/old/new/g // 则是替换整个文件中的每个匹配串
  5. y: 复制,d: 删除或剪切,x: 剪切或退格,p: 粘贴,c为change,其中dd删除一行,yy复制一行,ndd删除n行,nyy复制多行,ce/cw:替换一个单词

  6. 跳转翻页

    1
    2
    3
    4
    5
    6
    
    hjkl 这是代替箭头键功能的
    H M L 跳到屏幕的顶上 中间 下方 ,
    CTRL-F 向前一页 CTRL-B 向后一页
    w 跳到下一个单词的首字符
    e 跳到下一个单词的末尾字符
    b 跳到上一个单词的首字符
    
  7. 输入 :help cmd 可以找到关于 cmd 命令的帮助。

  8. 多行操作:ctrl+v => shit+i => 输入想要插入的字符 => esc => ok

  9. :e -> 刷新或重载reload 已打开的文件

  10. u: 回退上一步操作

  11. :1, $s/word1/word2/g: 全局替换word1为word2

    :n1, n2/word1/word2/g: n1至n2行之间全局替换word1为word2

  12. 代码折叠: zc, 展开折叠: zo

  13. o是将在光标的下方打开新的一行并进入插入模式, O是向上新开一行