前言
我使用vim也有一段时日了,但依然还有许多强大的功能没有用上。中间也曾尝试过emacs和sublime,可能是先入为主了,总是感觉有些别扭,又回到vim。我把自己平时发现的一些使用的细节记录在此帖里,供自己与诸君翻阅,持续更新。
快捷键拾遗
- 数字0,普通模式下快速移动到行首
ex命令
:m,n s/pattern/dest/g
#将m-n行里地pattern换为dest
:% s/pattern/dest/g
#%代表全局
缓冲区
基本
:ls #查看打开的所有缓冲区
缓冲区的跳转
vim有多个缓冲区,可使用它们打开不同的文件并跳转
:bnum #跳到第num号缓冲区
:bdelete num #关闭第num号缓冲区
:bn(next) #跳到下一个缓冲区
:bp(previous) #跳到上一个缓冲区
缓冲区间的复制粘贴
:m,ny num #通过复制到指定寄存器来完成
缓冲区的保存
:wall #保存所有缓冲区的内容
寄存器
vim共有9个寄存器,可以通过
:reg
或者
:dis
#查看所有寄存器信息
数字寄存器会根据你做的操作而改变,但是字母寄存器则不会,所以若长期需要复制某内容,保存在字母寄存器中
寄存器的操作
ayy#复制改行到a寄存器中
#记住字母寄存器为大写时是追加模式
:m,ny num #将m至n行的内容复制到num号寄存器
"ap #将a寄存器内容粘贴到光标处
可视化模式
可视化模式下的插入删除
Ctrl+V进入可视化模式
移动光标选择行和区域
删除:选中区域后按d即可
插入:选中区域后按I(大写),插入字符后按ESC
插件
插件管理
我使用Vundle插件来管理插件
安装插件
vim ~/.vimrc.bundles
//insert the follow
Bundle "githubUsername/pluginName"
//quit & vim
:BundleInstall
卸载插件
vim ~/.vimrc.bundles
//desert the same line
:q
vim
:BundleClean