我也来教你安装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,还有啥?
下载ycmlsp示例见更多的补全服务器.

posted @   zjh6  阅读(37)  评论(0编辑  收藏  举报  
编辑推荐:
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
阅读排行:
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现
点击右上角即可分享
微信分享提示