记(fen)录(xiang)一下我的VIM配置
最早使用VIM的时候,是在网上复制别人的配置和插件直接使用,功能很炫但是往往很多功能和操作并不是很适合自己。后来对配置做过几次修改,直到这次修改之后想到把这个配置上传的GitHub上备份一下,希望下次再改的时候能够稍微省点事。
刚刚已经把我的VIM配置上传到GitHub上了,就不再贴附件了。后面配置如果有修改的时候也是向GitHub上更新。
有兴趣的小伙伴可以点击链接跳转。
我常用的功能
插件内容
- 使用
Vundle
管理插件 - 使用
taglist
进行tag浏览(窗口左侧打开),手动安装ctags - 使用
DoxygenToolkit
,Doxygen风格的注释工具 - 快速注释工具
The-NERD-Commenter
- 文件浏览工具
The-NERD-tree
,(窗口右侧打开) - 代码补全工具
OmniCppComplete
- 状态栏工具
powerline
- C语言源文件于头文件快速切换
a.vim
- 代码对其工具
godlygeek/tabular
- MarkDown语法插件
plasticboy/vim-markdown
下图是当前配置下打开的状态:左侧展开函数列表、右侧打开文件浏览,下面使用ls
命令打开了buffer记录
通用操作
编辑/复制/粘贴/剪切
J
删除两行之间的空行,实际上是合并两行。yy
拷贝当前行nyy
拷贝当前后开始的n行,比如2yy拷贝当前行及其下一行。p
在当前光标后粘贴,如果之前使用了yy命令来复制一行,那么就在当前行的下一行粘贴。shift+p
在当前行前粘贴:1,10 co 20
将1-10行插入到第20行之后。:1,$ co $
将整个文件复制一份并添加到文件尾部。ddp
交换当前行和其下一行xp
交换当前字符和其后一个字符- 正常模式下按v(逐字)或V(逐行)进入可视模式,然后用jklh命令移动即可选择某些行或字符,再按d即可剪切,按y进行复制
dl
删除当前字符, dl=xdh
删除前一个字符dd
删除当前行dj
删除上一行dk
删除下一行d$
或D
删除下一行ndd
剪切当前行之后的n行。利用p命令可以对剪切的内容进行粘贴kdgg
删除当前行之前所有行(不包括当前行):1,10d
将1-10行剪切。利用p命令可将剪切后的内容进行粘贴。:1,$d
删除从第1行开始的所有行:1, 10 m 20
将第1-10行移动到第20行之后。
插入与替换
:1,10 s/^/#/g
在1-10行行首插入固定内容(#):1,10 s/$/#/g
在1-10行行尾插入固定内容gU
选中内容全部替换为大写gu
选中内容全部替换为小写
列编辑模式
- Windows下
Ctrl+v
或Ctrl+q
进入可视块模式。 - 可视块模式选中多行的前提下下Shift+i进入插入模式,插入完成后按ESC可在多行的相同位置插入相同值。
十六进制形式查看文件
:%!xdd
进入十六进制查看模式:%!xdd -r
回到常规模式(如非需要,不要在十六进制模式下保存文件)
书签管理操作
ma
a为小写字母,为光标所在处设定文档书签amA
A为大写字母,为光标所在处设定全局书签A`a
到文档书签a处,Tab键上方'a
到文档书签a所在行行首处,Enter键左边`A
到全局书签A处,Tab键上方'A
到全局书签A所在行行首处,Enter键左边`n
如果n=0,缓冲区将打开上一次的文档,且光标在上次编辑最后的位置,1-9以此类推'n
如果n=0,缓冲区将打开上一次的文档,且光标在上次编辑最后的位置所在行的行首,1-9以此类推:marks
查看当前所有书签
Buffer管理
:ls
查看当前已经打开的buffer:b num
切换到指定编号的buffer:bn
切换到下一个buffer:bp
切换到上一个buffer:b#
切换到之前所在的前一个buffer:bdelete num
删除指定编号的buffer
窗口操作
:new
打开一个空的新窗口,光标停在顶层的窗口上:split
在新窗口打开当前编辑内容,split打开的窗口都是横向的,使用vsplit可以纵向打开窗口。:split file
或:new file
用新窗口打开文件Ctrl+ww
移动到下一个窗口Ctrl+wj
移动到下方的窗口Ctrl+wk
移动到上方的窗口:close
最后一个窗口不能使用此命令,可以防止意外退出vim。:q
如果是最后一个被关闭的窗口,那么将退出vim。ZZ
保存并退出。:only
关闭所有窗口,只保留当前窗口
录制宏
- 按q键加任意字母开始录制,再按q键结束录制(这意味着vim中的宏不可嵌套),使用的时候@加宏名,比如qa。。。q录制名为a的宏,@a使用这个宏。
定制操作
F2
快速打开函数列表F3
快速打开文件列表
插件管理操作
:BundleList
列举出列表中(.vimrc中)配置的所有插件:BundleInstall
安装列表中全部插件:BundleInstall!
更新列表中全部插件:BundleSearch foo
查找foo插件:BundleSearch! foo
刷新foo插件缓存:BundleClean
清除列表中没有的插件:BundleClean!
清除列表中没有的插件
注释操作
:DoxLic
生成Licence注释:DoxAuthor
文件头、作者和时间注释:Dox
函数注释
快速注释
;cc
快速注释当前行;cu
取消当前注释;ca
切换注释风格
版权声明:本文为博主原创文章,转载请注明出处。