vim 编辑器是 Linux 系统中的一款强大的代码编辑器。前段时间学习了 vim 编辑器,把常用的命令做些总结。
通常我们在Windows中写代码,会不可避免地同时使用鼠标和键盘,但是在 vim 中用键盘就可以完成代码编辑地操作,并且 vim 是不支持鼠标地。
先来感受一下 vim 的界面:vim 的左下角显示的是当前的模式。写代码的时候是在 INSERT 模式下(以下称为编辑模式),按 Esc 键可进入命令行模式。之后的操作主要是在这两种模式下进行。
vim 编辑器的操作总结:
1. 移动光标
在 vim 中按 ESC 键退出编辑模式,h, j, k, l 分别对应前,下,上,右4个移动方向
2. 打开文件
在 Ubuntu中按 Ctrl+Alt+T,打开终端,使用命令行
vim yourfile.txt
yourfile 指文件名,当文件不存在时,vim 将会创建该文件
3. 退出 vim
按 ESC 退出编辑模式,进入命令模式,输入以下的命令
i. 未修改文件时退出
:quit
ii. 保存并退出
:wq
保存并退出的快捷键, Shift + z + z
iii. 不保存退出
:q!
4. 写入文本
在命令模式下,按 i 键,进入编辑模式。此时 vim 的底部将会显示 -- INSERT -- , 提示当前处于文本编辑模式,这时就可以用 vim 开始写代码了。有的翻译资料也叫插入模式,但按照含义,明显叫编辑模式更顺口。
5. 删除字符
(按 ESC)在命令模式下,移动光标至要删除的字符上,然后按字母 x 键
6. 删除单词
vim 具有人性化的功能,支持删除单词,不需要一个一个地删除单个字符。在命令模式下,把光标移动到要删除单词地首字母上,然后按字母 d+w 键。( delete word )
该操作可以与数字键组合,比如 d+4+w,代表删除4个单词。
7. 删除行
在命令模式下,按 d + $ 键,删除从光标处开始至该行的行末的内容
在命令模式下,按 d + d 键,删除该行,数字键可以与 dd 组合,比如 55dd 代表删除55行
8. 高级移动
在命令模式下,按 w 键移动光标至下一个单词首字母,按 e 键移动光标至下一个单词尾字母,按数字 0 键移动光标至行首,按 $ 键移动光标至行末。数字键可以与 w, e 组合,比如 2w 代表后两个单词的首字母,4e 代表后4个单词的尾字母
9. 撤销
在编辑模式下,按 u 键撤销之前的操作
10. 粘贴
在 vim 中,使用 d 删除的文本都存在缓存里面,将光标移动至要粘贴的位置,按 p 键就可以粘贴上一次删除的内容
11. 替换
i. 单个字符
在命令模式下,将光标移动至要替换的位置,按 r 键 + 新的符号(字母、数字等)。比如光标位于 primtf 的 m 处,此时按 r + n,即可修改为 printf
ii. 多个字符
在命令模式下,按 c + e,从当前光标处开始,删除至光标所在处的单词末
在命令模式下,按 c + $,从当前光标处开始,删除至光标所在的行末
注意: 替换操作保留空格,且进入编辑模式;删除操作不保留空格,且停留在命令模式。
12. 跨行浏览
在命令模式下,按 G (Shift + g)定位到文件的最后一行;按 g + g 定位到文件的首行;按 数字键 + G 定位到具体的行,比如 65535 + G 定位到第 65535 行;按 Ctrl + g 统计文件的总行数
13. 搜索文本
i. 向后搜索
比如搜索 buffer 这个单词,使用命令行
/buffer
ii. 向前搜索
?buffer
敲入命令后按 Enter 键,光标将会定位至搜索的关键词处,按 n (next) 向下查找,按 N (Shift + n) 向上查找
14. 块操作
在命令模式下,按 Ctrl + V 进入块操作模式。此时移动光标,凡是光标经过的地方,都会出现反色。确定操作区域后,按 y 复制反色区域,按 d 删除。再移动光标到新位置,按 p 粘贴
15. 窗口切割
在命令模式下,按 :sp ,即可使同一个文件显示在两个窗口。若加了文件名参数 :sp{filename},则是在新窗口启动另一个文件。 按 Ctrl + w+ j(k) 实现光标在两个窗口中切换,按 :q 退出当前窗口