我也来教你安装ycm,windows版本的
受人家启发,我也来教你安装ycm.但人家的太啰嗦了.
 最好是早上安装ycm,码云下载地址在此,当然你非要下午安装,也不是不可以.点这里,目前还是0积分,然后把所有的都下载了,只管本地安装了,当然,像cs等补全还得亲自等待连网安装.
 首先.你必须得用utf8编码.如果用gbk,那是不行的.如果原来是gbk,你可以重新安装个utf8版本gvim,同样的配置.只是复制一下vim目录,见这里
 然后下载ycm,见上面,给了地址了.
 下载好了.然后配置一下.比如
let $PYTHONHOME='f:\Python'
 
vim中要用py路径.最新的vim版本,不用编译.直接下载好,用就是了,都支持py3的.
 插件,用vim-plug,其实pathogen最好,vim-plug有时也不方便.pathogen,只管下载到此,就行了.如在此目录D:\Vim2coc\vimfiles\bundle.ycm相关配置如下,
let g:ycm_global_ycm_extra_conf='D:\Vim2coc\vimfiles\bundle\youcompleteme\.ycm_extra_conf.py'
let g:ycm_confirm_extra_conf = 0
let g:ycm_python_binary_path = 'f:\python\python.exe'
" 语法关键字补全
let g:ycm_seed_identifiers_with_syntax = 1
" 开启YCM基于标签引擎
let g:ycm_collect_identifiers_from_tags_files = 1
" 从第1个键入字符就开始罗列匹配项
let g:ycm_min_num_of_chars_for_completion=1
" 在注释输入中也能补全
let g:ycm_complete_in_comments = 1
" 在字符串输入中也能补全
let g:ycm_complete_in_strings = 1
" 注释和字符串中的文字也会被收入补全
let g:ycm_collect_identifiers_from_comments_and_strings = 1
" 弹出列表时选择第1项的快捷键(默认为<TAB>和<Down>)
let g:ycm_key_list_select_completion = ['<tab>', '<Down>']
" 弹出列表时选择前1项的快捷键(默认为<S-TAB>和<UP>)
let g:ycm_key_list_previous_completion = ['<f7>', '<Up>']
" 主动补全, 默认为<C-Space>
let g:ycm_key_invoke_completion = '<c-z>'
" 停止显示补全列表(防止列表影响视野), 可以按<C-Space>重新弹出
" 只能一个了.
"let g:ycm_key_list_stop_completion = ['<C-y>']
"let g:ycm_semantic_triggers =  {
"\   'c,cpp,python,java,go':['re!\w{2}'],
"\   'cs,lua,javascript':['re!\w{2}'],
"\}
"ycm默认需要按ctrl + space 来进行补全,可以在上面的花括号里面加入下面两行代码来直接进行补全[不需要按键]
let g:ycm_semantic_triggers =  {
			\ 'c,js,cpp,python,java,go,erlang,perl': ['re!\w{1}'],
			\ 'cs,lua,javascript': ['re!\w{1}'],
			\ }
"这才是真语义触发 
let g:ycm_show_diagnostics_ui = 0
let g:ycm_filetype_whitelist = { 
			\ "c":1,
			\ "cpp":1, 
			\ "d":1,
			\ "h":1, 
			\ "py":1, 
			\ "rust":1, 
			\ }
let g:ycm_language_server=
  \ [{
  \   'name': 'ccls',
  \   'cmdline': [ 'ccls' ],
  \   'filetypes': [ 'c', 'cpp', 'cuda', 'objc', 'objcpp' ],
  \   'project_root_files': ['_ccls','.ccls-root', 'compile_commands.json' ],
  \ },
  \ {
  \   'name': 'd',
  \   'cmdline': [ 'serve-d' ],
  \   'filetypes': [ 'd'],
  \ }]
let g:ycm_add_preview_to_completeopt = 0
"关闭函数原型提示
 
人家的插件太多,我们不需要,不折腾,用时再加.
 由于我的clangd分析不了我的cpp文件,因为,我是gbk编码.所以,我的目前并不是语义补全,哈哈,搞笑不?,clangd不支持gbk.
 编译命令.json,在这里
 人家还用的是taglist,这个插件不好,用tagbar,当然还有最新的vstia什么的,不过没用过.
 gutentags什么的,也不折腾了.折腾大王都不折腾了,还折腾啥.
 最重要的安装步骤,差点搞忘记写了:install.py --all,记住,不要单独写install.py,这样一个语义补全的都没有,你成了普通补全了.或者加上clangd-completer等等,都加上.加了再说.
 为啥不用nvim,因为不稳定.
 为啥不用vscode,因为打开慢,且不习惯.
 为啥不用fakevim,因为不能全屏.
 为啥不用vs,因为这个打开慢.
 为啥不用hbuilderx,因为这个没有vim模式.
 编辑器,除了vim,还有啥?
 下载ycm的lsp示例见更多的补全服务器.
                
            
        
浙公网安备 33010602011771号