vi和vim作为非常流行的命令行文本编辑器,以其功能强大著称,但同时也因为功能过多难以驾驭,对于用惯了鼠标操作的用户来说,命令行编辑器上手更加困难。本文抛去繁杂琐碎的参数手册,以例子为引导,介绍几个现代编辑器常用的功能在vim中如何实现。
插入模式/编辑
使用vim打开文件后,默认在命令模式,不能简单的直接插入文字,如果需要直接编辑文本,需要按下i
键,才能进入插入模式。这时可以对文本直接进行编辑。
快速翻页
小键盘上方的Pg Up
和Pg Dn
键可以快速翻页。
快速定位行首和行尾
键盘中间区域的Home
和End
键可以快速定位行首和行尾。
退出
如果没有对文件进行修改,并且当前在命令模式下,直接键入:q
即可退出vim回到命令行;如果当前在插入模式,则需要先按下ESC
回到命令模式,再键入:q
;如果已经对文件进行了修改,并且不想保存文件直接退出,首先按下ESC
回到命令模式,再键入:q!
即可。
保存退出
回到命令模式后,键入:wq
即可保存退出。如果提示没有权限,则需要先不保存退出:q!
,然后sudo vim xxx
重新打开文件编辑,然后即可正常保存。
插入新行
在命令模式下,按下o
键会在当前光标下方插入新行,并自动进入插入模式;若按下O
键(大写,即shift+o
),则会在光标上方插入新行,并进入插入模式。
删除/剪切某行
在命令模式下,按下dd
,即两次d
键,则会删除/剪切当前行,整行内容都会消失,并且之后的内容向上移动一行。
粘贴
在命令模式下,按下p
键会在光标所在处插入复制或剪切的内容。或者直接使用系统快捷键ctrl+shift+v
也可直接粘贴到光标处。
删除一行的部分内容
如果有一行很长的内容,只需要保留前面的一部分内容,之后的所有内容都需要删除,则可以将光标移动到需要保留的最后一个字符之后,回到命令模式,然后按下d$
(美元符号代表行尾,删除到行尾),即可将改行光标处之后的内容全部删除。
撤回/重做
如果想撤回刚刚的操作,只需要在命令模式按下u
键,如果发现撤回过头了,则可以按下ctrl+r
组合键重做。
查找
在命令模式下,按下/
(正斜杠),光标会移动到屏幕底部,然后键入需要查找的内容,然后vim会向前查找,若找到匹配内容则会高亮显示,如果需要查找同方向下一个匹配内容,按下n
即可。若想要向下查找内容,则按下?
,然后键入需要查找的内容,之后同理。