我也来教你安装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示例
见更多的补全服务器.
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· AI与.NET技术实操系列:基于图像分类模型对图像进行分类
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 分享一个免费、快速、无限量使用的满血 DeepSeek R1 模型,支持深度思考和联网搜索!
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· ollama系列01:轻松3步本地部署deepseek,普通电脑可用
· 25岁的心里话
· 按钮权限的设计及实现