新人的 Vim 之路在代码补全上夭折了...

2018 年 5 月 17 日
 marcosteam

我接触 linux 的时间也不长,大概就几个星期,目前主力 IDE 就是 JB 全家桶+Vim+Vscode。

但是饱受知乎浸淫,接触到一个理念:Vim 永远是世界上最好的 IDE! 于是我就开始学习使用 Vim。

Vimtutor 也刷了好几遍了,快捷键大概也知道怎么用了,那么,要想打造 IDE,总得装插件吧?

好吧,先把 Vundle 装上去,整个过程还是十分轻松愉快的。

不愉快的体验就发生在代码补全插件那里了。

之前没有查过资料,直接在 Github 上面搜代码补全插件,一看,YCM,哇,一万多个 Star,装!看了一下,没问题,脚本解决的事,对照文档开始装,结果...C 语言部分报错,装不上。只能采用下面的传统安装方法,结果在编译过程报错,提示我找不到 libcpp.so ,可是我都已经按照你的要求把 llvm 和 C 的二进制下了,还放到对应的文件夹里面啊?为什么报错?怒删!

好吧,谷歌一搜,原来 YCM 是全世界最难安装的 Vim 插件之一,好吧,我去 V 站看看,哦,有个更轻量的 deoplete,看文档还蛮简单的啊,装!

先装 neovim,再用 Vundle 装插件,然后配置补全源,C++和 Py 用的默认的 deoplete-clang 还有 deoplete-jedi,按文档配置以后就变成了这个样子:

可是,当我满怀期待的新建一个 CPP,准备写老师的作业的时候...

补全框呢?诶?为什么看不到?空的?而且我不是开了括号自动补全吗?为什么没用?

现在的我已经完全失去了折腾的热情,因为我已经连续折腾这个了三天,连 stackoverflow、v2ex、知乎、google 都搜了一遍...准备老老实实用 vscode,安逸。

哪位大手子能带带我装一下插件吗?我不想努力了.jpg

或者,有没有比较新一点的代码补全插件的安装教程?

32292 次点击
所在节点    Vim
159 条回复
maokabc
2018 年 5 月 18 日
很长一段时间都是用 acp,根据已有的词进行补全,相当实用。不然就是无配置直接用,无法理解非要把 vim 配置成 ide 的
marcosteam
2018 年 5 月 18 日
@SpaceVim 好的,已换 neovim,谢谢!
congeec
2018 年 5 月 18 日
@WildCat 都字过分了啊
lzjqsdd
2018 年 5 月 18 日
一开始不要配置那么多插件,一个个来,不然快捷键多了很难熟悉起来。一个个攻破
lzjamao
2018 年 5 月 18 日
如果你有志在 linux 下开发,坚持去解决错误,你会学到一些 linux 知识的。

我最初是从[这里]( https://github.com/yangyangwithgnu/use_vim_as_ide)学装 vim 的,我第一次装 YCM 折腾了 3 天,后来将安装命令([这里]( https://github.com/lizijie/use_vim_as_ide/blob/master/install_ycm.sh))都记录下
param
2018 年 5 月 19 日
ycm 在 Arch Linux CN 的源就有,我就直接装了。所有的语言支持都编译进去了。
param
2018 年 5 月 19 日
@thedrwu ZZ 好难按啊。。:x 还不好吗?
thedrwu
2018 年 5 月 19 日
@param 德语键盘的 ZZ 非常好按
VIM 当时有许多德语区的开发者, 按键上也不是完全按照美式键盘优化的, 比如:

- 为什么录宏是 q 在播放宏是 @ , 因为它们是同一个键。

- 为什么 X 的剪贴板是 + 、 * 和 ~ , 因为它们是同一个键。

- 为什么行首是 ^ , 因为它在 1 键的左边,键盘最左的键之一,而且不需要按 shift。
param
2018 年 5 月 19 日
@thedrwu 以原教旨主义的立场,应该按照最初设计的键位来设置快捷键
thedrwu
2018 年 5 月 19 日
@param 我不赞同按位置来设置功能。不仅是不同语言有不同的键盘, 还有人喜欢用 dvorak 布局呢。
举个例子,我用郑码十多年, 其中也有键盘布局的原因,五笔在别的键盘上不如郑码好用。虽然打字久了之后只是条件反射手指下按顺序,但灵活性上, 郑码按照 A-Z 字母顺序对应笔划,比五笔分键区灵活性大增。
(题外话, 至于为什么非要用字型输入,一是因为当年拼音傻;二是因为字型输入灵活 ,不仅可以做到完全盲打,不常用的字也能立刻打出。 即使当今拼音智能了, 仍然用字型单字输入, 可以保护隐私不被输入法厂商得到,还可以不忘怎样写字)
marcong95
2018 年 5 月 19 日
@lunafreya vim 的最基本生存方式:啥都别写了:wq 退出算了(滑稽)

vim xxx.c
!@*)(&%*%_)!*(@#_*$!*
:wq
code xxx.c
ahjsrhj
2018 年 5 月 19 日
建议使用 vscode + vim 插件的方式使用
jouyouyun
2018 年 5 月 19 日
@marcosteam ycm 安装时需要编译的,所以需要先安装好编译依赖,然后才能编译成功。
我的 vim 配置( https://github.com/jouyouyun/vim.d) 你可以看下
marcosteam
2018 年 5 月 19 日
@whnzy 上了,结果…看补充吧
ivechan
2018 年 5 月 23 日
sudo apt-get install build-essential cmake git
sudo apt-get install python-dev python3-dev
cd ~/.vim/bundle/YouCompleteMe # 这里注意你 ycm 目录
./install.py --clang-completer
在纯净的 Ubuntu16.04 ,这种安装方法其实非常简单啦。
千万不要乱改其他东西,比如,一定要自己配置 libclang 啥的。
nG29DOMuRYTWfcSr
2018 年 5 月 25 日
@spark 更新下 SpaceVim,最新版官网有教程
apolodu
2018 年 6 月 28 日
所以现在楼主的 vim 能够实现自动补全了么?

我也断断续续地折腾了一个多月了. vim 不难, 但是想用 vim 来开发必须装不少插件, 问题在于这些插件的文档大多 tm 写的像 sh*t 一样, 配置的部分三言两语略过, 要么直接丢一个文件出来, 让人 xjb 猜, 看得一头雾水, 很恶心.
jhsunnyshine
2018 年 7 月 3 日
Mac 下的 vscode 也贼难受,比如你输入一个 pr 补全,它会补全 print,而在 win 下会补全 print(),唉,醉醉的
lancelock
2018 年 8 月 9 日
@tombear001 朋友,你这个是什么字体啊,挺漂亮

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://v2ex.ih06.com/t/455458

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX