我接触 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
或者,有没有比较新一点的代码补全插件的安装教程?
OK,休息了一下以后,我换成了nvim++vim-plug+LSP,按照官方文档 https://github.com/autozimu/LanguageClient-neovim/blob/next/INSTALL.md 的介绍,加入参数后嘛,就变成了这样...
没错...LSP的安装卡死了...半天不动,按理来说应该会开启sh文件配置的,但是没有...
101
regiondavid 2018-05-17 16:54:42 +08:00
YCM 我整整彻底重新装了 5/6 次才成功
|
102
WildCat 2018-05-17 16:56:46 +08:00 3
恕我直言,说什么 vim 写代码的其实都是在装逼 + 1
|
103
SkyKoo 2018-05-17 17:38:16 +08:00
为何必须代码补全,c+p c+n 够用了
|
104
ranwu 2018-05-17 18:09:00 +08:00
在 arch linux 上的话,装 YCM 只需一条命令搞定^^,不过发现还是没什么卵用
|
105
sensui7 2018-05-17 18:22:18 +08:00
sublime text 的功能, vim 能实现 9 成, vs code 能实现 9 成
vim 的功能, st 实现 5 成, code 5 成 code 的功能, st 实现 3 成, vim 实现 7 成 综合: 我选择 vs code |
108
marcosteam OP @ranwu 越说越想用 Arch 了…
|
109
zhouzm 2018-05-17 21:39:47 +08:00
应该把 vim 看作是一种技能(包括寻找配置自己需要的插件),想几天或几个星期的短时间就掌握是不太容易的,心理预期至少要放到几个月。坚持挺过这么长的痛苦练习期后,绝对会成为伴你一生的能力。
|
110
shihira 2018-05-17 21:41:51 +08:00
今年我已经装了 3 次 YCM 了,新电脑的 Linux 上一次 Windows 上一次,公司新电脑上一次。
踩的坑多数是墙的锅,比如说 git clone 因为 clone 着 clone 着没速度了,连接超时云云。中断之后子模块没 clone 完整,git 又炸出 bug。又或者说 Build 的时候下载 Clang,下到一半又没速度了。只能说中国人装起来特蛋疼。 从这个项目很早期开始就跟着用和关注了。很中肯地说,早些年比起只能用 clang_complete (慢到出奇)和 ctags 补全(不语义),YCM 简直是福音。速度快、有语义、有 fuzzy、有跳转到定义等等。但老实说它事实上并不算好用,作者的态度也稍微有点脾气(据说是个 Google 员工)。实在有点想换了。 |
111
shihira 2018-05-17 21:51:05 +08:00
你要是还想折腾 YCM 你可以加一下我 telegram,v 站 profile 里有。
|
112
mashpolo 2018-05-17 21:52:59 +08:00
写代码的话,还是建议楼主用专门的编辑器, vim 的话,服务器上远程的话应该比较常用到
|
113
BingoXuan 2018-05-17 22:00:31 +08:00
因为踩过坑,所以从来不建议将 vim 当作 ide 使用
不然 ide 有什么存在意义?? 好好下载一个 ide 吧,折腾诚可贵,生命价更高。有这时间好好静下心来学习吧 |
114
arakashic 2018-05-17 22:19:40 +08:00
你自己用的习惯的编辑器 /IDE 才是世界上最好的编辑器 /IDE ! LZ 如果你才是用了几个星期,基本上还停留在 vimtutor 教你的那些操作的话,换门还来得及没必要逼自己用 vim。
|
115
zengguibo 2018-05-17 22:25:40 +08:00
写代码还是要上 ide 的,漂亮水灵的姑娘你不爱,偏爱那臭不可闻的男人
|
116
jimages 2018-05-17 22:44:55 +08:00 via iPhone
我怎么觉得 ycm 特别好装啊 mac 也装了
|
117
raawaa 2018-05-17 22:47:20 +08:00
spacemacs 可以尝试一下。
|
118
raawaa 2018-05-17 22:48:32 +08:00
另外电脑挺不错的嘛,截图里的字体渲染的如此高清。屏幕分辨率多少啊。
|
120
marcosteam OP @raawaa 默认 1080P 呗,新版 ubuntu 自带思源黑体,皮肤用的是 flat remix,用 tweak 改了一下文字的大小
|
121
Rorysky 2018-05-17 23:26:10 +08:00
大公司有专门 搞 ide 优化的
|
122
raawaa 2018-05-17 23:27:26 +08:00
试着截了一下自己的。发现也还行。看来只是因为你的字体大, |
123
eclipselu 2018-05-17 23:34:19 +08:00
@qf19910623 233 所以还是用 vscode 吧。
|
124
uucloud 2018-05-18 00:43:44 +08:00
用 python 编译 ycm 其实很容易。
|
125
marcosteam OP @uucloud 就是因为 python 脚本装不上去所以我只能编译啊
|
126
cz5424 2018-05-18 01:25:01 +08:00 via Android
github 上 k-vim 了解一下,初学者偷懒之路
|
127
20015jjw 2018-05-18 04:31:06 +08:00
lz 不要气馁 慢慢来 基本调教到你想要的样子要 2 年
|
128
brucewar 2018-05-18 08:49:52 +08:00
可以在 vscode 里安装一个 vim 插件啊
|
129
guoli100 2018-05-18 09:33:45 +08:00
楼主不要气馁,慢慢熟悉 VIM 就好了,熟能生巧是早晚的事。YCM 也不是像网上说的多难装,只是安装文档写的比较细而已,安装其实只是一两个命令,试几次就明白了。
|
130
mervin3e 2018-05-18 09:40:30 +08:00
楼主如果使用 deoplete 的话,可以试试 https://github.com/Rip-Rip/clang_complete
|
131
HackerOO7 2018-05-18 09:48:55 +08:00 via Android
昨天晚上刚配了 YCM,按照文档来,一切挺顺利的啊
|
132
clavichord93 2018-05-18 12:33:44 +08:00 via iPhone
ycm 确实好难配啊,特别是我这种用 anaconda 的… python 补全从来没有 work 过… cpp 补全也只 work 过一次…
|
133
nG29DOMuRYTWfcSr 2018-05-18 14:53:48 +08:00
|
134
nG29DOMuRYTWfcSr 2018-05-18 14:57:21 +08:00
@mervin3e deoplete 作者写了一个 clang 的 source 叫做 deoplete-clangx,我建议你可以试试,clang_complete 毕竟还是使用的 omni 方法,相对比较慢,而且不是异步的,会造成卡顿。
如果只是用来写 python 完全没有必要安装 YCM,ycm 的后台其实也是 jedi, 可以使用 deoplete + deoplete-jedi 这两个插件替代。安装相比 ycm 要简单很多。 |
135
preyta 2018-05-18 15:01:20 +08:00
自带的 ctrl+p 足够了
|
136
nG29DOMuRYTWfcSr 2018-05-18 15:06:20 +08:00
@marcosteam 仔细读完你的帖子,你的问题是安装 ycm 失败,这点我没法帮你,因为我并不用 ycm, 也不建议用 ycm。 关于 neovim 和 deoplete 的安装大致过程如下:
1. 安装 neovim, 编译也好,通过包管理器安装也好,都非常简单,可以参考 neovim 的 wiki https://github.com/neovim/neovim/wiki/Installing-Neovim 2. 安装好了 neovim, 并未结束,neovim 添加 python 和 python 及 lua 的支持,你需要安装对应的 client, 我是通过如下脚本安装的: pip2 install --user neovim pip3 install --user neovim 3. 安装 deoplete 以及 deoplete-jedi 你可以采用 vim-plug 或者 vundle 都一样, 但是 neovim 启动安装完插件以后,你需要执行一次 :UpdateRemotePlugins |
137
Mirana 2018-05-18 15:54:48 +08:00
不用代码补全
|
138
whnzy 2018-05-18 16:23:12 +08:00
deoplete 建议你上 neovim
|
139
hscui 2018-05-18 16:38:20 +08:00
新人就老实用 Jetbrain,VScode 这类的集成 IDE,真的不建议去摆弄 Vim 之类的,毕竟新人最重要的任务是学语言,使用语言,而不是配置编辑器。
|
140
spark 2018-05-18 18:50:53 +08:00
|
141
maokabc 2018-05-18 21:29:46 +08:00 via Android
很长一段时间都是用 acp,根据已有的词进行补全,相当实用。不然就是无配置直接用,无法理解非要把 vim 配置成 ide 的
|
142
marcosteam OP @SpaceVim 好的,已换 neovim,谢谢!
|
144
lzjqsdd 2018-05-18 22:10:30 +08:00 via Android
一开始不要配置那么多插件,一个个来,不然快捷键多了很难熟悉起来。一个个攻破
|
145
lzjamao 2018-05-18 22:36:11 +08:00
如果你有志在 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))都记录下 |
146
param 2018-05-19 01:02:10 +08:00 via Android
ycm 在 Arch Linux CN 的源就有,我就直接装了。所有的语言支持都编译进去了。
|
148
thedrwu 2018-05-19 02:22:15 +08:00
@param 德语键盘的 ZZ 非常好按
VIM 当时有许多德语区的开发者, 按键上也不是完全按照美式键盘优化的, 比如: - 为什么录宏是 q 在播放宏是 @ , 因为它们是同一个键。 - 为什么 X 的剪贴板是 + 、 * 和 ~ , 因为它们是同一个键。 - 为什么行首是 ^ , 因为它在 1 键的左边,键盘最左的键之一,而且不需要按 shift。 |
150
thedrwu 2018-05-19 03:57:28 +08:00
@param 我不赞同按位置来设置功能。不仅是不同语言有不同的键盘, 还有人喜欢用 dvorak 布局呢。
举个例子,我用郑码十多年, 其中也有键盘布局的原因,五笔在别的键盘上不如郑码好用。虽然打字久了之后只是条件反射手指下按顺序,但灵活性上, 郑码按照 A-Z 字母顺序对应笔划,比五笔分键区灵活性大增。 (题外话, 至于为什么非要用字型输入,一是因为当年拼音傻;二是因为字型输入灵活 ,不仅可以做到完全盲打,不常用的字也能立刻打出。 即使当今拼音智能了, 仍然用字型单字输入, 可以保护隐私不被输入法厂商得到,还可以不忘怎样写字) |
151
marcong95 2018-05-19 09:52:07 +08:00
|
152
ahjsrhj 2018-05-19 11:50:33 +08:00
建议使用 vscode + vim 插件的方式使用
|
153
jouyouyun 2018-05-19 17:20:51 +08:00
|
154
marcosteam OP @whnzy 上了,结果…看补充吧
|
155
ivechan 2018-05-23 23:57:01 +08:00
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 啥的。 |
156
nG29DOMuRYTWfcSr 2018-05-25 11:16:11 +08:00 via Android
@spark 更新下 SpaceVim,最新版官网有教程
|
157
apolodu 2018-06-28 02:50:17 +08:00
所以现在楼主的 vim 能够实现自动补全了么?
我也断断续续地折腾了一个多月了. vim 不难, 但是想用 vim 来开发必须装不少插件, 问题在于这些插件的文档大多 tm 写的像 sh*t 一样, 配置的部分三言两语略过, 要么直接丢一个文件出来, 让人 xjb 猜, 看得一头雾水, 很恶心. |
158
jhsunnyshine 2018-07-03 18:41:06 +08:00 via Android
Mac 下的 vscode 也贼难受,比如你输入一个 pr 补全,它会补全 print,而在 win 下会补全 print(),唉,醉醉的
|
159
lancelock 2018-08-09 23:48:30 +08:00
@tombear001 朋友,你这个是什么字体啊,挺漂亮
|