Vim YouCompleteMe 使用整理
YouCompleteMe 是我使用 Vim 的必备插件,同时也是最难装的插件,没有之一。本文记录笔者在使用这个插件的一些心得,嗯,这个会持续更新的。
安装
在 Manjaro 上安装没有遇到过什么问题,基本按照文档一路来就好。
在 macOS 上因为要用到 python,并且 macOS 系统自带的 python 并没有安装 pip,所以要麻烦一些,解决方案看这里:macOS切换Python2和Python3的探索
ultisnips 冲突
Vim 的 ultisnips 插件也使用的是 tab 触发,这里会有冲突,解决方法,在 .vimrc 中加入下面的代码:
let g:ycm_key_list_select_completion = ['<Down>']
let g:ycm_key_list_previous_completion = ['<Up>']
把 ycm 的前一项和后一项绑定到小键盘上。
巧用 .tern-project 文件
最新版本的 YCM 已经兼容了 Tern,在我们开发 JavaScript 相关项目时,可以在根目录配置这个文件来增强这个插件的能力。
示例(React):
{
"ecmaVersion": 6,
"libs": [
"browser"
],
"loadEagerly":[
"node_modules/react-dom/dist/react-dom.js",
"node_modules/react/dist/react.js",
"node_modules/react-dom/dist/react-dom.js",
"node_modules/react-dom/dist/react-dom-server.js"
],
"dontLoad": [],
"plugins": {
"es_modules": {},
"node": {}
}
}
关于这个文件的详细写法可以参考这里:tststs/atom-ternjs