Skip to content

Commit 8cbe965

Browse files
author
WaySLOG
committed
Merge pull request #140 from knight42/knight42-patch-1
添加 YCM 的内容
2 parents d0dea71 + bfb61e7 commit 8cbe965

File tree

1 file changed

+19
-9
lines changed

1 file changed

+19
-9
lines changed

03-editors/03-02-vim.md

Lines changed: 19 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -76,26 +76,36 @@ let g:racer_cmd = "<path-to-racer>/target/release/racer"
7676
let $RUST_SRC_PATH="<path-to-rust-srcdir>/src/"
7777
```
7878

79+
#### 使用 YouCompleteMe
80+
81+
YouCompleteMe 是 Vim 下的智能补全插件, 支持 C-family, Python, Rust 等的语法补全, 整合了多种插件, 功能强大. Linux 各发行版的官方源里基本都有软件包, 可直接安装. 如果有需要进行编译安装的话, 可参考[官方教程](https://github.com/Valloric/YouCompleteMe#installation)
82+
83+
让 YCM 支持 Rust 需要在安装 YCM 过程中执行 ./install.py 时加上 --racer-completer, 并在 .vimrc 中添加如下设置
84+
```
85+
let g:ycm_rust_src_path="<path-to-rust-srcdir>/src/"
86+
"" 一些方便的快捷键
87+
""" 在 Normal 模式下, 敲 <leader>jd 跳转到定义或声明(支持跨文件)
88+
nnoremap <leader>jd :YcmCompleter GoToDefinitionElseDeclaration<CR>
89+
""" 在 Insert 模式下, 敲 <leader>; 补全
90+
inoremap <leader>; <C-x><C-o>
91+
```
92+
7993
## 1.3.1 总结
8094

81-
经过不多的配置,我们的到了包括如下功能
95+
经过不多的配置,我们得到了如下功能
8296

83-
1. 基本的c-x c-o补全
97+
1. 基本的c-x c-o补全 (使用 YCM 后, 能做到自动补全)
8498
2. 语法着色
85-
3. gd跳转到定义(不好用)
99+
3. gd跳转到定义
86100

87101
总体来看支持度并不高。
88102

89103
![此处应该有第二张截图](../image/03-editor-vim-welldone.png)
90104

91105
### 1.3.1 额外的
92-
Q1. 为什么没有自动补全
93-
94-
A1. 事实上我是一直在用YCM来进行补全的,但是racer并没有被YCM支持,而且似乎有人去YCM下提ISSUE,但是被作者拒绝了,于是就呵呵了。
95-
96-
Q2. 颜色好搓
106+
Q1. 颜色好搓
97107

98-
A2. 我推荐一个配色,也是我自己用的 [molokai](https://github.com/tomasr/molokai)
108+
A1. 我推荐一个配色,也是我自己用的 [molokai](https://github.com/tomasr/molokai)
99109

100110
更详细内容可以参见我的[vimrc配置](https://github.com/wayslog/dotfiles/blob/master/_vimrc),当然,我这个用的是比较老的版本的vundle,仅供参考。
101111

0 commit comments

Comments
 (0)