缘起
一直以来对于坊间流传的”编辑器之神vim”有一探究竟的想法,奈何困在了安装插件上面,略作尝试后会继续回到我熟悉的Source Insight。自从日常工作学习迁移到mac和linux后,SI的不支持使得它难以成为开发的一哥,遂下心,转战vim,经过一段时间的研究后,发现vim不愧为古老而不失先进特性的神器。
这里抛砖引玉,将我的配置分享下:github 传送门。
无图图真相
配置介绍
得益于vim-plug这样的管理插件,安装插件变得非常简单便利,本配置以将Vim打造成为c/c++,go 和python的开发环境为目标。
- 以deoplete.vim 为自动补全核心引擎,可完美实现语义补全
- 模糊查找采用 leaderF,高效精准,支持文件、函数、打开buffer等多种查找
- vim-airline提供了漂亮的状态栏
主要插件
序号 | 插件 | 描述 |
---|---|---|
1 | joshdick/onedark.vim | 配色主题 |
2 | morhetz/gruvbox | 配色主题 |
3 | vim-airline/vim-airline | 状态栏美化 |
4 | scrooloose/nerdtree | 文件目录树 |
5 | Yggdroot/LeaderF | 好用的模糊查找插件 |
6 | majutsushi/tagbar | 显示当前文件的大纲,即函数列表等信息 |
7 | Chiel92/vim-autoformat | 代码格式化 |
8 | jiangmiao/auto-pairs | 成对的插入括号,引号等符号 |
9 | junegunn/vim-easy-align | 代码对其插件 |
10 | Yggdroot/indentLine | 显示缩进线,在python这类以缩进组织代码格式的语言中非常有用 |
11 | mhinz/vim-startify | 起始也插件 |
12 | ludovicchabant/vim-gutentags | 异步自动生成tag |
13 | skywind3000/gutentags_plus | 强化tag浏览交互体验 |
14 | skywind3000/vim-preview | tag浏览预览 |
15 | Yggdroot/vim-mark | 标记光标下的符号,支持不同颜色 |
16 | scrooloose/nerdcommenter | 注释插件 |
17 | vim-scripts/DoxygenToolkit.vim | 生成liscense,函数说明等信息 |
18 | sheerun/vim-polyglot | 语法高亮增强 |
19 | Shougo/deoplete.nvim | 自动补全引擎 |
20 | Shougo/neosnippet.vim | 代码片段 |
21 | Shougo/neosnippet-snippets | 代码片段 |
22 | Shougo/deoplete-clangx | 基于deoplete的c/c++补全插件,依赖clang |
23 | zchee/deoplete-jedi | 基于deoplete的python补全 |
24 | deoplete-plugins/deoplete-go | 基于deoplete的go补全 |
25 | stamblerre/gocode | go补全插件 |
26 | easymotion/vim-easymotion | 强大的快速定位插件 |
27 | Shougo/echodoc.vim | 命令栏显示函数参数信息 |
28 | terryma/vim-smooth-scroll | 平滑滚动 |
29 | tpope/vim-fugitive | git分支显示 |
30 | fatih/vim-go | go开发多种特性支持 |
Keymap
key | description |
---|---|
; | leader key |
<leader>1 | 打开、关闭目录树 |
<leader>2 | 打开、关闭tagbar |
<leader>3 | 打开、关闭 tree |
<leader>f | 查找当前工程目录下的所有文件 |
<leader>t | 查找当前文件的函树、变量等 |
<leader>b | 打开的多个文件间切换 |
<leader>gs | 查找当前光标下符号的引用 |
<leader>gd | 查找当前光标下符号的定义 |
<leader>ci | 注释或取消注释,仅visual模式 |
<leader>cs | 以更加规整的格式注释,仅visual模式 |
<leader>wh | 窗口切换 |
<leader>wj | 窗口切换 |
<leader>wk | 窗口切换 |
<leader>wl | 窗口切换 |
<leader>m | (取消)标记当前光标下的符号 |
<c-d> | 向下翻页 |
<c-u> | 向上翻页 |
<c-k> | 展开snippets |
会持续更新,请关注github 传送门的进展。