背景
个人最近一直使用VSCode+Go插件来开发Go代码,虽然也觉得VSCode是目前最好用的Go的开发工具,但还是对VIM有点不可割舍,对我来说原因有三:
- VIM可以在控制台使用,适合远程登陆到Linux进行代码调试修改
- 配合Tmux使用,开启多个Pane各司其职,不同Pane之间快速切换
- 有Tagbar,团队内代码串讲,能先看出每个文件的大纲,代码跳转也非常方便
截图
第一张是自己截的,后两张是使用各插件官方的:
插件
我配置VIM主要用于Go语言开发,所以对VIM的配置是主要是集中于代码编写,Go语言的代码提示,格式化等。使用了如下主要插件:
Plugin 'honza/vim-snippets' "快速插入代码片段snippets
Plugin 'scrooloose/nerdtree' "文件浏览,文件树目录
Plugin 'scrooloose/nerdcommenter' "快速加减注释
Plugin 'scrooloose/syntastic' "代码错误检测,其它应该也类似
Plugin 'Xuyuanp/nerdtree-git-plugin' "Git插件
Plugin 'majutsushi/tagbar' "标签列表
Plugin 'kien/ctrlp.vim' "文件搜索,杀手级,重新定义了编辑器打开文件的方式
Plugin 'vim-scripts/TaskList.vim' "快速跳转到TODO列表
Plugin 'vim-scripts/SuperTab' "Tab代码提示
Plugin 'fannheyward/rainbow_parentheses.vim' "括号匹配高亮
Plugin 'tpope/vim-surround' "快速加环绕符
Plugin 'tpope/vim-repeat' "配合使用增强版命令重复
Plugin 'tpope/vim-sensible' "基本的Vim设置
Plugin 'mhinz/vim-startify' "更改开始界面的插件
Plugin 'fatih/vim-go' "GO语言
Plugin 'bling/vim-airline' "状态栏
Plugin 'junegunn/vim-easy-align' "方便的按分隔符对齐,比如=号
Plugin 'ConradIrwin/vim-bracketed-paste' "插入模式下粘贴内容,不会有任何变形 :set paste
Plugin 'fholgado/minibufexpl.vim' "多文件切换,也可使用鼠标双击相应文件名进行切换
Plugin 'SirVer/ultisnips' "宏定义补全
Plugin 'Yggdroot/indentLine' "缩进虚线
Plugin 'Shougo/neocomplete.vim' "自动补全
Plugin 'Shougo/unite.vim' "文件或Buffer列表
Plugin 'Lokaltog/vim-easymotion' "快速移动,杀手锏,跳转到光标后任意位置
Plugin 'Raimondi/delimitMate' "自动括号补全
- vim-go:已把Go的开发工具大包大揽了,非常省事。可以通过运行:GoInstallBinaries来自行安装
- neocomplete.vim:非常轻量的基于缓存的代码补全,vim-go中已集成gocode来做代码联想,并能与neocomplete配合使用。
- unite.vim:又一个神器,使用类似于SublimeText与VSCode的
Go to xxx
(快捷键:CMD+P
/Ctrl+Shift+P
)功能,能快速列出最使用打开文件,当前目录下文件,Buffer列表等。 - tagbar:标签列表,需要ctags,而Go的各元素能正常展示,则需要依赖于gotags,vim-go中已集成。
分享
个人的VIM的配置,已放入在Github上,若有需要的朋友尽管拿去使用,有问题欢迎反馈。
GitHub地址:https://github.com/xtfly/xvim