• doge
    2020-09-03
    说一下用后感吧,跳转的速度和精度上比vscode和clion要迅速很多,就是快捷键比较多,得多用熟能生巧才行。 另一个就是得ctags+cscope+YCM+rtags一起用才能得到最好的跳转体验。 基本就是C-] \gt \rj \rT轮番上阵,哈哈! 整体感觉还是非常良好的,不过如果CLion没那么卡和吃内存就好了,CLion的类继承关系这一块的体验很好,不知道vim这一块有没有类似的操作,另外CLion的调试也很适合小白使用。但Clion经常用着用着就卡死了,尴尬。 当然如果vim实在玩不转,vscode和CLion还是可以作为替代的,哈哈。 最后一点就是高亮配色方案的事,老师好像比较喜欢朴素的色调,但我看多色调习惯了,最后用了octol/vim-cpp-enhanced-highlight这个插件,但感觉还是挺一般的。不知道有没有大神有啥推荐的配置。

    作者回复: 无论如何,cscope没有使用的必要了吧,如果你用C++的话。如果用上编译数据库的话,YCM基本已经满足需求了。ctags和rtags勉强有部分补缺的作用,cscope我看不出来有啥用处。 类继承你是说查看有什么子类吗?这个在rtags里有,但如果要跟商业软件比界面的漂亮,那肯定是没戏的。 我试了你说的这个插件,还有点意思。但是,跟其他类似插件一样,单纯依赖名字的加亮,在C++里玩不转——把我的很普通的成员变量next都当成标准库里的函数名称来加亮了。 朴素点,不是为了朴素,而只是不愿看到错误行为时的无奈之举。如果有插件能进行完全正确的加亮,又不会拖慢编辑的速度,我干吗不用呢?;-)

    
    2
  • chris
    2020-11-07
    请问老师,我想给ycm的GoToSymbol命令也定义一个快捷键,但发现这个命令不是默认取当前光标下的符号,而是要自己输入带查找的symbol,这样的快捷键应该如何定义?

    作者回复: 这个命令本来就是设计用来输入符号的,如果是取光标下的符号,用 GoToDefinition 子命令不挺好? 如果是不想手工输入前面这串,可以类似这样定义: :nnoremap <Leader>gs :YcmCompleter GoToSymbol 这样,敲入 \gs 即可自动输入命令的前面部分。

    
    1
  • 凉人。
    2022-12-22 来自江苏
    /usr/bin/ld: /home/work/.vim/my/start/YouCompleteMe/third_party/ycmd/third_party/regex-build/3/temp.linux-x86_64-3.6/regex_3/_regex.o(.text+0x112c): unresolvable H��@�>H��FH��H��H��@�~�F�H��@�~H��8�H��H��0�FH��H��(�FH��H�� �FH��H���FH��H���FH��H��F�fD relocation against symbol `_Py_NoneStruct' 安装过程一直失败。看起来是mrab-regex有bug,这个可以跳过吗

    作者回复: 把环境搞干净了(没有自己的特殊环境变量)再试试。这种有问题就要到网站上去问问了。 如果是Linux发布版,一般可能已经自带了。虽然可能版本偏老,应该肯定能装上。

    
    
  • 谁家内存泄露了
    2022-09-21 来自上海
    请问老师,我安装了ycm,采用的是在ubuntu上直接用apt安装的方式; 在c++的工程中添加了对应的json文件; 现在的现象是函数/符号能够跳转了,但是无法查找相关的引用即没有这个命令:YcmCompleter GoToReferences,这个问题您有什么思路吗?

    作者回复: 我用过 Ubuntu 20.04,上面直接带的 YCM 版本比较老,是不支持这个功能的。自己安装新版本(需要自己运行 install.py 来安装 clangd)就可以。

    共 2 条评论
    
  • Qfeng
    2022-09-18 来自上海
    公司内网无法访问网络,只能通过外网电脑下载好后拷贝的方式传输文件进入。这种情况下试过,无法安装YCM,它会在安装的时候访问github,请问老师这种问题可以如何绕过?

    作者回复: 拿同样环境的机器安装,然后把整个 .vim 目录复制过去。

    
    
  • 軟件賺硬幣
    2021-05-29
    老师好,我是Linux初学者。我的Ubuntu20.04下面运行了 sudo apt install vim-youcompleteme, vim-addon-manager install youcompleteme两行代码之后,然后用vim打开新文件,还是用不了ycm。显示NoExtraConfDetected: No .ycm_extra_conf.py file detected, so no compile flags are available…(后面字体看不到了,笔记本屏幕限制)

    作者回复: 请再仔细看看配置部分,我特地讲到了 .ycm_extra_conf.py 文件,及我为解决这个问题准备的 adah1972/ycmconf 插件。

    
    
  • supakito
    2020-11-08
    老师,感觉最近tabnine好像很火的样子,不知道和ycm相比,哪个更好用一些?

    作者回复: 没有比较。这个补全的方法不同,比较耗算力,而且对大项目是需要付费的,我没有尝试。 对于这类工具我持审慎怀疑:如果它真能预测得很好,那是不是说明代码中的重复有点多了? 不过,那只是个人没有使用过的瞎猜测。实践是检验真理的标准。你自己试试不就得了?适合自己的就是好的,适合你的不一定适合其他人,反过来也一样。

    共 2 条评论
    
  • 浩浩
    2020-10-25
    brew list. 安装了一下软件 ============================= autoconf cmake fzf gettext icu4c lua node pkg-config python@3.9 ruby universal-ctags automake cscope gdbm go libyaml macvim openssl@1.1 python@3.8 readline sqlite xz ycm 只加 clangd 选项以下报错 【我需要自己安装 clangd 吗,请问?】 ======================= Downloading Clangd from https://dl.bintray.com/ycm-core/clangd/clangd-10.0.0-x86_64-apple-darwin.tar.bz2... ERROR: downloaded Clangd archive does not match checksum.

    作者回复: 可能就是下载/网络出了问题。我目前试下来是可以成功的,clangd的URL跟你的完全相同。

    
    
  • gigglesun
    2020-10-18
    YouCompleteMe可以通过离线的方式安装吗? 公司的服务器不能连接外网,我可以在自己的电脑通过 git clone --recurse-submodules \ --shallow-submodules \ https://github.com/ycm-core/YouCompleteMe.git 装好后,把这个YouCompleteMe文件夹拷贝到公司服务器,然后我再额外的安装对应的语言引擎这样安装吗?

    作者回复: 在同样软件配置的机器上,使用git命令和安装命令,完全结束了(建议测试一下)再拷贝结果。 安装过程中也会下载东西的,所以不能在目标机上执行安装命令。

    
    
  • 瀚海星尘
    2020-10-11
    老师我这里 ubuntu 使用 apt install vim-youcompleteme 后,提示找不到引擎,估计是还需要单独安装,最后还是用了编译安装的方式。我也安装了 vim-autopairs,确实带来了很多困扰,最头痛的就是需要只输入一对的第一个符号的情况,每次输入都会自动输出两个,然后删除第二个又会自动把第一个给删除...看了老师的留言,果断把它删除了。������

    作者回复: 如果报的错是跟clang相关的话,可能是vim-youcompleteme没有正确地依赖到libclang1上。我在Ubuntu 20.04 LTS上碰到过,运行sudo apt install libclang1可以解决该问题。

    共 3 条评论
    