vim - 如何将vim插件youCompleteMe设置为c++和python?
问题描述
我想配置我的 vim 文件以将 youcompleteme 设置为自动完成我的 cpp 和 .py 文件,但我不知道如何同时执行此操作。
解决方案
~/.vimrc
let g:ycm_global_ycm_extra_conf = '~/.vim/bundle/YouCompleteMe/simple_ycm_extra_conf.py'
let g:ycm_seed_identifiers_with_syntax = 1
set completeopt=menu
" make YCM compatible with UltiSnips (using <Ctrl-N>, <Ctrl-P>)
let g:ycm_key_list_select_completion=[]
let g:ycm_key_list_previous_completion=[]
" commands mappings
nnoremap <F1> :pclose<CR>:silent YcmCompleter GetDoc<CR>
nnoremap <S-F1> :pclose<CR>
nnoremap <C-F1> :YcmCompleter GetType<CR>
nnoremap <F9> :YcmCompleter GoTo<CR>
nnoremap <S-F9> :YcmCompleter GoToReferences<CR>
nnoremap <F10> :YcmCompleter FixIt<CR>
let g:ycm_use_clangd = 1
~/.vim/bundle/YouCompleteMe/simple_ycm_extra_conf.py
用作 C++ 的默认 YCM 构建规则。对于更复杂的项目,我建议使用 YCM 手册中描述的 cmake。另请注意,clangd YCM 编译允许您使用更多命令。
def Settings( **kwargs ):
return {
'flags': [ '-x', 'c++', '-Wall', '-Wextra', '-Werror' ],
}
推荐阅读
- php - $pdo->getAttribute(\PDO::ATTR_FETCH_TABLE_NAMES) 导致异常
- firebase - 更改场景时如何在“它所依赖的应用程序”之前删除我的 Auth 对象?
- c - 如何正确获取一行并用 C 解析它
- r - 使用函数从数据框中过滤或选择行的正确语法
- javascript - 在表情符号键盘中选择表情符号时会触发哪些事件?
- mysql - 在 MySQL/MariaDB 文本字段中将正则表达式文本转换为小写
- java - 缓冲阅读器 read() 返回字符比较
- azure-iot-edge - 如何使用 moby 限制 Azure IotEdge 容器中的日志文件大小
- node.js - 方法soap中promise.all的问题,只返回第一个查询api
- recursion - 简化几何(或算术)级数中的递归公式