前言
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(:X 表示文本写入密码,加密保存)
保存修改并退出
:q
退出,如果对缓冲区进行过修改,则会提示
:q!
强制退出,放弃修改
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(:X 表示文本写入密码,加密保存)
保存修改并退出
:q
退出,如果对缓冲区进行过修改,则会提示
:q!
强制退出,放弃修改