Linux Vim快捷键操作命令整理
前言
Vim是一个超牛的编辑器,命令功能十分强大 。而且这些命令大都可以进行组合 ,比如,9yy命令表示复制9行内容,9表示要复制的行数,同样100dd表示删除100行,当数字和命令合作的时候,就比单纯的命令更强大,同样,c命令表示擦除,w表示word即单词,那么cw就表示擦除一个单词,c5w就表示删除5个单词等等。将这些简单命令合成在一起,就可以发挥出难以想象的强大功能。
宏命令(Macros)
高级一些的编辑器,都会包含宏功能,vim当然不能缺少了,在vim中使用宏是非常方便的:
:qx | 开始记录宏,并将结果存入寄存器x |
q | 退出记录模式 |
@x | 播放记录在x寄存器中的宏命令 |
稍微解释一下,当在normal模式下输入:qx后,你对文本的所有编辑动作将会被记录下来,再次输入q即退出了记录模式,然后输入@x对刚才记录下来的命令进行重复,此命令后可跟数字,表示要重复多少次,比如@x20,可以重复20次。这个在文本的批处理中是非常有用的。
同时编辑多个文件
在vim众多的插件中,有一个叫minibuffer的插件,就是下面所说的标签页功能了,可以支持同时编辑多个文件。
标签命令
:tabe fn | 在一个新的标签页中编辑文件fn |
gt | 切换到下一个标签页 |
gT | 切换到上一个标签页 |
:tabr | 切换到第一个标签页 |
:tabl | 切换到最后一个标签页 |
:tabm [N] | 把当前tab移动到第N个tab之后 |
对,正如你所想象的那样,跟eclipse, ue等的标签页是一个意思!
窗口命令
ctrl+w s | 水平分割窗口 |
ctrl+w w | 切换窗口 |
ctrl+w q | 退出当前窗口(由于同时有多个文件,此命令不会影响其他窗口) |
ctrl+w v | 垂直分割窗口 |
其他
vim在保存之前不会对文件做实际的修改,只是加载到缓冲区中,对文件的编辑其实是对缓冲区的编辑,直到:w时才会存入物理文件。
:e file | 把file加载到新的缓冲区中 |
:bn | 跳转到下一个缓冲区 |
:bd | 删除缓冲区(关闭文件) |
:sp fn | 分割窗口,并将fn加载到新的窗口中 |
退出编辑器
:w | 将缓冲区写入文件,即保存修改 |
:wq | 保存修改并退出 |
:x | 保存修改并退出 |
:q | 退出,如果对缓冲区进行过修改,则会提示 |
:q! | 强制退出,放弃修改 |