vim编辑器常用指令
光标移动
- 行间移动
gg键
:移动光标到第一行(命令模式下)G键
:移动光标到最后一行(命令模式下):n
:移动到第n行,写法举例::6移动到第六行(末行模式)
- 列间移动
$
:移动光标到当前行的行尾(最后一列)。一般可以使用shift+$(命令模式下)0
:移动光标到当前行的行首(第一列)(命令模式下)
删除
- 列(字符)删除
x
键:删除当前光标所在处一个字符(命令模式下)nx
键:n代指一个数字,删除当前光标所在处以及后面共n个字符。举例:6x,删除当前光标所在处以及后面共6个字符。(命令模式下)X键
:删除当前光标的左边一个字符(命令模式)D键
:删除当前光标至行尾。(命令模式下)
- 行删除
dd键
:删除当前光标所在行(命令模式)ndd键
:n代指一个数字,删除当前光标所在后面共n行(命令模式下)dG键
:删除当前光标所在行至文件末尾(命令模式下):n1,n2d
:删除n1到n2行,举例:1,12d:表示删除1到12行(末行模式下)
拷贝(类似windows ctrl + c)
-
复制列(字符)
多按几次ESC,然后按v,进入可视方式,移动方向键选中文本,然后按y,就完成拷贝。
-
复制行
yy键
:复制当前行(单行复制)(命令模式)nyy键
:复制当前行以下n行,举例:5yy,从当前行开始拷贝5行(命令模式下):n1,n2 copy dn
:复制n1到n2行数据然后粘贴到dn行,举例:3,14 copy 2,从第3行开始拷贝到第14行,粘贴到第二行(末行模式下)
粘贴(类似于windows CTRL + v)
P键
:如果拷贝的是整行,粘贴在当前行下。如果拷贝的是字符,粘贴在当前光标之后(配套yy,nyy使用)(命令模式下)p键
:如果拷贝的是整行,粘贴在当前行上。如果拷贝的是字符,粘贴在当前光标之前(配套yy,nyy使用)(命令模式下)
撤销(类似于windows ctrl + z)
u键
:撤销上一步操作,相当于ctrl+z(命令模式下)U键
:撤销当前行中的所有操作。(命令模式下)ctrl+r
:重做撤销的操作。可以理解为对撤销进行还原。(命令模式下)
字符查找(类似于windows CTRL+f)
-
/string
:从光标所在处向后寻找“string”字符串,按 n 可往下继续找,按 N 可往上查找。举例:/main(末行模式下) -
?string
:从光标所在处向前寻找“string”字符串,可按N向下继续找,按n向上查找(末行模式下) -
:set ic
:查找时忽略大小写,举例,查找 f ,匹配 f+F (末行模式下) -
:set noic
:查找时对大小写敏感,举例,查找 f ,匹配 f (末行模式下)请注意::set ic和:set noic 必须要在文本查找之前进行。
字符替换(类似于windows ctrl + f)
-
:%s /old/new
:将全文每一行第一个匹配项old替换成new。(末行模式下) -
:%s /old/new/g
:全文替换old为new(末行模式下) -
:n1,n2s /old/new/g
:在n1到n2行间替换old为new(末行模式下)
vim其他常用指令
:set nu
设置行号(末行模式下)set nonu
:设置取消行号(末行模式下)ctrl+g键
:显示文件名,当前的行号,文件的总行数和文件位置的百分比(命令模式下)