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

2018-05-17 01:44:18 +08:00
 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

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

29666 次点击
所在节点    Vim
159 条回复
congeec
2018-05-17 10:18:42 +08:00
我当初也是这样
建议 Linux 以及编程搞熟了再来尝试
你被知乎那家伙坑了
jswh
2018-05-17 10:26:54 +08:00
用 vim 折腾插件只是为了提高效率,但关键是先学好它的模式输入。这个有了你就会发现,啥?这个编辑器 /IDE 没有 vim 模式?辣鸡!
defunct9
2018-05-17 10:31:21 +08:00
用毛插件啊,就用原生的 vi 就好。
mseasons
2018-05-17 10:33:43 +08:00
VIM 很强的,熟练运用+装满插件能有 VS 一半的威力。
alexzhou
2018-05-17 10:37:46 +08:00
学习成本抵得上学一门编程语言了
sheep3
2018-05-17 10:38:50 +08:00
@mseasons 哈哈哈哈哈
BBCCBB
2018-05-17 10:41:29 +08:00
那我就不知道了... 你先用
https://github.com/roxma/nvim-completion-manager
这个吧, 虽然不维护了,但是没啥毛病, 很多功能都内置了
lululau
2018-05-17 10:45:19 +08:00
vim / emacs 原教旨主义者为什么会反对用插件?想了想,可能有两个原因:

1. 装了各种插件,容易遇到各种问题,自己动手能力不足,搞不定
2. 他人机器或服务器上没有装插件,或者没有权限装插件?

哪位原教旨主义者能够不吝赐教一下
bravecarrot
2018-05-17 10:55:04 +08:00
@wr410 改代码需要啊 deploy 之后 调参数什么的 就要 vim
c0pper
2018-05-17 11:04:17 +08:00
除了 evil 其他 vi 插件都不够 vi,evil 也因为一些 emacs 的问题在 vi 上好用的 emacs 上不好用了。楼主你的补全服务的 debug 信息不贴上来有什么好讲的,就像 gocode close && gocode -s --debug 里面的,这根本不是 vim 的问题。老是想打圣战是不行的。
tombear001
2018-05-17 11:13:46 +08:00
写前端用的 webstorm,想转向 vscode,也碰到了代码补全的问题。
ws:![]( )
vscode:![]( )
vscode 硬是少了个分号,但偶尔又会自己冒出来,虽然影响不大,但是零零散散的,总有类似的问题,体验不好,老是要折腾,还是 ws 无脑好,懒得折腾了。
Mrkon
2018-05-17 11:15:44 +08:00
大家有遇到过 ctrl + v 然后 shift + a 然后 esc 不能整体改变区块的情况吗?
求解答!
swchzq
2018-05-17 11:25:01 +08:00
Spacemacs 了解一下!
对 evil(即使用 vim 的操作方式操作 emacs)的支持得很好好
开箱即用, 提示友好~
zhze93
2018-05-17 11:38:17 +08:00
emmmmm, vim 我一般就拿来提代码。
平常用 pycharm
nikolai
2018-05-17 11:44:30 +08:00
vim 只在服务器上用,平时 sublime 或者 VSCode + vim 插件。另外 YCM 太笨重了,已经放弃。
skt041959
2018-05-17 11:44:33 +08:00
我现在还在用 vim 是因为公司的开发都在远程服务器上,ssh+vim 比任何 VNC 的响应速度都快。写 C++的话,YCM 基本上是最好的选择,绕不过去的……
phoebuss
2018-05-17 11:45:16 +08:00
YCM 是有门槛的…首先你得知道怎么从源码编译 vim, gcc, cmake, llvm …反正我在 ubuntu 12.04 用起来了
dychenyi
2018-05-17 11:47:56 +08:00
@lululau
你这回答有点搞笑了。任何事物都有定位,如果用于主流定位之外的用途也未尝不可。但如果反过来嗤笑主流定位的用途,那就太搞笑了。
这跟前些年,用 ubuntu 的想方设法打造成主力娱乐机的用户嘲笑 windows 用户低能。
这跟河上有座桥,你开个越野车,偏从河里走,就要嘲笑我开小轿车从桥上走的。你尽可以耍你的越野,但别来嘲笑我。
鄙视链真是哪里都有。
回到本题,真习惯 vim 的编译模式,你装满插件的 vim 真有我基本 vim+IDE 的 vim 模式来的好用?
itgoyo
2018-05-17 11:52:30 +08:00
本人前几天爬了好多帖子也刚好成功安装 YCM,自己在博客里发了一篇文章,备忘用的,希望对有需要的朋友有所帮助,我的环境是 Mac。

https://itgoyo.github.io/2018/05/10/Vim%E5%AE%89%E8%A3%85YouCompleteMe/
caixiexin
2018-05-17 12:33:02 +08:00
@lululau 讲真,什么事情都想用 vim 才是原教旨主义,明明 ide 加 vim 插件可以更出色完成工作。。

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

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

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

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

© 2021 V2EX