vim编辑器使用积累

常用操作

搜索和替换

  1. 搜索
    • /word 向下搜索word,按n搜索下一个,加shift搜索上一个
    • ?word 向上搜索word,…
  2. 替换: [rage]s/pattern/string/[c,e,g,i]
    • / 斜杠是命令分割符,也可以使用#符号
    • rage: 指的是范围,1,7 指從第一行至第七行,1,$ 指從第一行至最後一行,也可以用 % 代表。
    • patter: 就是要被替换掉的字串,可以用正则表达式來表示。
    • string: 替换pattern的文本,可以用&符号表示拼接匹配到的内容
    • [c,e,g,i]四个选项,可以组合使用,分别表示:
      • c(cofirm):每次替换前询问
      • e: 不显示error
      • g(globe): 不询问,整行替换,否则只替换第一个
      • i(igore): 不分大小写

高级规则

global命令实际上是分成两步执行:首先扫描[rage]指定范围内的所有行,给匹配{pattern}的行打上标记;然后依次对打有标记的行执行{command}命令,如果被标记的行在对之前匹配行的命令操作中被删除、移动或合并,则其标记自动消失,而不对该行执行{command}命令。{command}可以是一个ex命令,也可以是用|分隔的多个ex命令,这样我们就可以对被标记行,或从标记行寻址到的行进行多种不同的操作。

使用vim的剪贴板系统

  1. vim有12个粘贴板,分别是0、1、2、…、9、a、”、+;用:reg命令可以查看各个粘贴板里的内容
  2. 要将vim的内容复制到某个粘贴板:
    • 在Viseal模式下选择要复制的内容,然后按"y完成复制,其中N为粘贴板号(注意是按一下双引号然后按粘贴板号最后按y)
    • 在ormal模式下,按"Nyy完成复制当前行到N号剪贴板,可举一反三
  3. *号剪贴板是vim默认的,即在vim中简单用y只是复制到“(双引号)粘贴板里,同样用p粘贴的也是这个粘贴板里的内容;
  4. +号粘贴板是系统粘贴板,用”+y将内容复制到该粘贴板后可以使用Ctrl+V将其粘贴到其他文档(如firefox、gedit)中,同理,要把在其他地方用Ctrl+C或右键复制的内容复制到vim中,需要在正常模式下按”+p;

文件编码

退出

移动命令

  1. 上下左右(可以用方向键直接移动)
    • h 左,或 Backspace 或 方向键
    • j 下,或 回车 或 + 或 方向键
    • k 上,或 - 或 方向键
    • l 右,或 Space 或 方向键
  2. 移动到行首: ^ (移至第一个非空字符)或 Home键(移至行首,包括空字符)
  3. 移动到行尾: $ 或 Ed键
  4. 移动到当前页的首行: H
  5. 移动到当前页的中间行: M
  6. 移动到当前页的最后一行: L
  7. 以word为单位移动: w
  8. 显示行号: :set umber:set nu
  9. 移动到第行: :n
  10. 向上滚动一屏(即Pagedow): Ctrl + b(backward)
  11. 向下滚动一屏(即Pageup): Ctrl + f (forward)
  12. 屏幕向下滚动一行: Ctrl + e

删除命令

复制与粘贴

vim 三种模式

  1. ormal mode:Vim的缺省模式,在该模式下运行命令。
  2. Isert mode:在该模式下插入/写文本。
  3. Visual mode:在该模式下可以选择一块文本区域,并对该区域内的文本执行命令或编辑操作。

参考资料

TOP