现在是一直都在用 vim ,其他都挺好的,就是 vim 的函数跳转很蛋疼, ctags 和 cscope 都用了,但是感觉 cscope 在很多类都有同一个函数名的情况下,无法很好的定位,是我使用不当么?
看到很多人也用 emacs ,不知道哪个好点,现在很多代码并不是我自己写的,经常需要用函数跳转,有时逼得我只能退到命令行下 grep ……
1
rock_cloud 2015-08-19 14:08:35 +08:00
JetBrains Clion
|
2
luoqeng 2015-08-19 14:11:22 +08:00
Source Insight 3 看, vim 写。
|
3
aszxqw 2015-08-19 14:13:10 +08:00
纯 vim
|
4
andyhuzhill 2015-08-19 14:17:53 +08:00
Qt Creator
|
5
focux 2015-08-19 14:19:43 +08:00
YouCompleteMe
|
6
Nicksxs 2015-08-19 14:27:03 +08:00
@rock_cloud 打开个 PHP 源码就挂了的渣渣
|
7
harry890829 OP @rock_cloud 这个确实是个好东西啊……我研究研究
|
8
harry890829 OP @luoqeng 这……看的话我直接用 vs 不好了……
|
9
harry890829 OP @aszxqw 这……大神啊……插件都不用的么……
|
10
harry890829 OP @andyhuzhill qt creator 有命令行下的?
|
11
harry890829 OP @focux 这个不是补全么……有没有跳转啊……
|
12
harry890829 OP @Nicksxs 这个是语言不支持吧……
|
13
Nicksxs 2015-08-19 14:30:59 +08:00
@harry890829 C 都不支持?
|
14
lingxi27 2015-08-19 14:33:17 +08:00
Qt Creator 的 fakevim 很好,如果你实在用不了桌面版,只能努力折腾插件了,试试 clang complete 或者 you complete me 吧
|
15
harry890829 OP @Nicksxs 你不是开 php 源码么
|
16
xhuuanniqege 2015-08-19 14:37:47 +08:00 via Android
@harry890829 有的
|
17
harry890829 OP @lingxi27 倒也不是用不了桌面版,连上服务器写代码太麻烦了,我就装了个虚拟机跑轻量级 gentoo ,公司电脑不行啊,要是跑桌面版的话太操蛋了……那个你说的两个插件都是补全吧……我是想问函数跳转……
|
18
harry890829 OP @xhuuanniqege 你好,你说的是 qt 有 shell 下的?因为我无法使用 Linux 桌面,所以只能用 shell , qt 支持么?如果支持的话,百度的关键字能给一下么,我刚才搜了搜,得到的全都是桌面版的
|
19
Nicksxs 2015-08-19 14:49:11 +08:00
@harry890829 PHP 源码不是用 C 写的么, https://github.com/php/php-src
|
20
F32 2015-08-19 14:49:20 +08:00
Qt Creator +1 自动补全功能不用配置就很好用
|
21
rock_cloud 2015-08-19 14:50:35 +08:00
@Nicksxs 你为啥用个 C/C++ IDE 去看 PHP 代码,有 JetBrains phpstorm 啊,教育版还有一年免费,多好~
|
22
caiych 2015-08-19 14:54:28 +08:00
|
23
aisk 2015-08-19 14:58:32 +08:00
vim + clang_complete
|
24
Nicksxs 2015-08-19 15:01:08 +08:00
@rock_cloud PHP 源码,不是 PHP 代码谢谢, https://github.com/php/php-src
|
25
harry890829 OP @caiych 原来还有这个功能啊……之前没发现,多谢提醒,我去研究研究
|
26
harry890829 OP @aisk 啊,现在的 vim 已经装了 YouCompleteMe ,我就直接去看他的函数跳转啦,之前一直以为只有提醒功能,还是感谢
|
27
Changxu 2015-08-19 15:25:14 +08:00
Vim
|
28
harry890829 OP @Changxu 还是用 vim 的多啊……
|
29
adexbn 2015-08-19 15:31:41 +08:00
Vim ( with ctags )
|
30
m4ker 2015-08-19 15:32:40 +08:00
emacs 和 vim 是最好的命令行编辑器
|
32
lingxi27 2015-08-19 15:37:05 +08:00
|
33
harry890829 OP @lingxi27 多谢,我现在也在 github 上看插件的介绍
|
34
harry890829 OP @m4ker 嗯嗯, vim 确实强大,可惜我还是不太熟悉,还需努力
|
35
aisk 2015-08-19 16:00:09 +08:00 1
@mozartgho linux 和 osx 下直接用包管理带的 libclang 就可以了。 windows 可能比较折腾。
|
36
xhuuanniqege 2015-08-19 19:06:01 +08:00 via Android
我说的是 ycm 有函数定义跳转功能, qt 没用过不太清楚啊。。。
|
37
acgeo 2015-08-19 19:09:32 +08:00
都是 V2EX 都是一群装逼仔!!
好好滴 IDE 编辑器不用 非得整什么 vim.... 真是能装逼! IDE 可以用 codeblocks, 编辑器用 sublime text 别跟我扯什么 vim 效率 高! 高各屁啊 就是装逼!! |
38
xylophone21 2015-08-19 19:10:51 +08:00
@harry890829
你需要的是 samba |
40
comicfans44 2015-08-19 19:18:02 +08:00
@acgeo 呵呵,当年我也是这样想的
|
41
acgeo 2015-08-19 19:19:10 +08:00 1
|
42
kouch 2015-08-19 19:46:26 +08:00
如果是追求 Coding 的效率,推荐 Clion ,本人也正在使用。
至于大家对于 Vim 的争论,我只想说, Vim 是不是神器,关键看在谁的手里,配置好的 Vim 用起来确实很爽,你会发自内心的觉得 Coding 也是一件很享受的事。 |
44
zhicheng 2015-08-19 20:40:06 +08:00 via Android
TMUX + VI 党路过,没有自动补全,没有自动缩进,没有语法高丽,关掉括号匹配,全屏使用,只有代码。其他所有辅助功能都是多余的。
|
45
freezhan 2015-08-19 21:11:36 +08:00
@acgeo
从前在 windows 上就大爱 cb (对 VS 总是有一种莫名的恐惧感...) 和 sublime, 换到 linux 上后 sublime 居然不支持折叠(比如说一段比较长的 json 代码), 后面换 atom...感觉对中文的支持很不友好(即便普通文本的中文弄好了, markdown 文件中的表格显现的中文依旧乱码)。 最终变成了: windows: cb + sublime linux: cb + sublime + atom +(马克飞象+EverNote ) VI 只会一点点最简单的 orz sublime 配置过可以支持各种语言, 最终放弃回到 IDE~ 最后吐槽下,找一款功能齐全的,称手的能够陪伴一生的编辑器太难了 TAT |
46
xnotepad 2015-08-19 21:58:46 +08:00
好多人都没看需求就开始写代码了。
|
47
linux40 2015-08-19 22:07:04 +08:00 via Android
我在用 codeblocks 当编辑器不要打我。。。这货对模板的补全和跳转支持不好,不过我用不来 vim 、 emacs 这些东西。。。。
|
48
fuqian 2015-08-19 22:09:16 +08:00
通过 vpn 访问开发机,怎么用图形化工具啊?
|
49
WispZhan 2015-08-19 22:14:51 +08:00
|
50
Natumsol 2015-08-19 22:16:44 +08:00
sublime text + g++
|
51
leavic 2015-08-19 22:18:47 +08:00 via iPhone
@WispZhan 我大部分 C 代码都是嵌入式代码, windows 下调试方便很多,你说的工具我回头看看。
|
52
sinxccc 2015-08-19 22:42:19 +08:00
首先我用 Emacs …
如果是上手不熟悉的代码,我还是会上 Source Insight 。不选其他工具仅仅是因为我比较熟悉 SI ,而且有个 license=_= 对于熟悉的代码,一般就是 Emacs 结合 GNU global (gtags ) 做搜索和补全,不用 ctags/etags 是因为它们功能太弱,不用 cscope 是因为 cscope 不能做 Emacs 下面的补全。 也曾经尝试过 clang 的 c++ 补全,但是经手的几个项目复杂度和规模都很大, clang 在效率和准确率上都差强人意,配置也麻烦,所以就放弃了。 查看代码的时候 grep 其实是挺好用的工具,别看它原理简单。 Emacs 下面有 grep mode 和几个 grep 包装的命令,也是很经常用到的。 |
53
seeliuh 2015-08-19 22:52:04 +08:00
|
54
seeliuh 2015-08-19 22:53:32 +08:00
上面这个帖子的最后,有个哥们提到 vim 配 GNU Global 。你可以试试。我自己还没尝试
命令行下也就 vim 和 emacs 靠谱 |
55
ksupertu 2015-08-19 23:05:48 +08:00
visual studio 2015 支持 linux 调试
|
57
AshesCaoY 2015-08-19 23:23:25 +08:00
Vim 和 emacs 挑一个吧,配上插件还是不错的,以前的时候一直用 emacs ,后来转 Vim ,鬼知道是什么原因
|
58
johnnyb 2015-08-20 00:57:45 +08:00
通常是开两个 terminal (我开始装了),一个运行 emacs (接着装,而且装了好几年了,快咬我) 专注编辑,一个用来 grep/ag 或其它操作。这样做的好处是可以按 cmd+` (不经意又装了一次,是的,我用 mac ) 快捷键盲切,不会切到不相干的窗口。
代码补全这种事不太在意。。。主要是因为 ctags 之流太鸡肋,所以不太指望。只要补全当前 buffer 的单词足以,再加上 snippets ,就能顺畅写代码了。 也不习惯为了查看一个函数就在编辑器里跳转,而是快捷键切到另一个窗口,查找函数声明调用就交给 grep/ag ,有正则表达式,再管道连接其它命令,还是很有效的。而且可以保存多次查询结果。 查完了再切回编辑现场。保持现场对我很重要,跳来跳去头晕。 |
59
xixi10111011 2015-08-20 09:22:41 +08:00
https://github.com/Valloric/YouCompleteMe 用起来还算可以,就是显示器得大点
|
60
comicfans44 2015-08-20 09:31:14 +08:00
@fuqian 看你需要的图形化工具是运行在开发机上还是本地,如果是运行在开发机上,那么 ssh 支持 X 转发, windows 下你需要一个支持 X 的 ssh 客户端(motaxterm 或者带 x 组件的 xshell ),linux 下你需要 ssh -X ,然后在终端下启动开发机上的图形化工具, UI 就跑到你本地的 x 上显示了
|
61
tkisme 2015-08-20 10:03:07 +08:00
CLion 的编辑的确很舒服,而且 community 的版本基本够用,其实可以用 git 控制,编译啊什么的都可以写在 git 的 hook 里面,觉得效果差不多,而且还可以回滚什么的
|
62
enson110 2015-08-20 10:36:32 +08:00
没人说用 samba 然后 windows 下用 vs 么? vs+vax 简直不要太爽,编辑完直接在 linux 下 gcc 编译即可。
|
64
Changxu 2015-08-20 13:52:06 +08:00
@acgeo 呃, 100 行以下的单文件程序就用 Vim (我没必要为这么小的程序还建个 project ),小改动用 Vim 。
只有大项目的时候才用 CLion |
65
fabregaszy 2015-08-20 14:02:55 +08:00
你们的 Clion 不卡吗?我的 Clion 特别是大项目,输入时卡的厉害...体验太糟糕了。
我是 14 MacBook Pro 15" 高配 |
66
sinxccc 2015-08-20 20:20:01 +08:00
@johnnyb 你可以试试看在 emacs 里面 grep , grep-mode 可以直接跳转搜索结果, grep 结果的 buffer 改名就可以一直保存着。
|
67
johnnyb 2015-08-20 21:56:38 +08:00
@sinxccc 在 emacs 里搜索, helm-ag 是更好的选择,但我很少用,还是另开一个终端窗口方便。我只是想查看一下函数定义或者调用关系,无需跳转过去。搜索结果也不必刻意保存。
emacs 集成的这些“ grep ”工具的预设也不太让人满意,有时候你想查找的文件/目录被它忽略,不想看的内容它又给显示。不如 find + xargs + grep/ag 灵活,有个好用的 shell (例如 fish ),也不用敲很多字。 |
68
sinxccc 2015-08-20 22:45:06 +08:00
@johnnyb 我一直没习惯 helm 的操作,尝试了几次最终都放弃了,所以它全系列的工具都没用;嗯, fish 也是。跟 find 搭配的话有 rgrep 和 grep-find 可以干类似的事情。
嗯,这些都是个人偏好吧,我比较习惯把一个工作相关的东西都放在一个 Emacs 的 daemon 里面,感觉 Terminal 和 tmux 窗口多了之后循环切换效率有点低,还是 ibuffer 方便点。 |
69
harry890829 OP @comicfans44 其实我们服务器是有图形界面的(谁知道网管为什么安装一个有界面的 redhat ),我们也有 vnc 连接到服务器上可以直接用图形界面,但是网管反对我们在服务器上安装乱七八糟的软件,毕竟运行环境和开发环境不能一样啊,现在自己跑了个 gentoo 在虚拟机上,超轻量级,还不影响速度……所以只能用命令行,其实我觉得要是一定要用图形界面的话,我直接 win 下上 vs 好了,效果也不会太差的样子,就是很多错误提醒麻烦,过滤就好……
|
70
harry890829 OP |