大家有木有看 linux 源码的经验捏

2014-09-11 22:54:19 +08:00
 g0t3n
我的原意是看 linux 内核的源码(好吧不能说看但是怎么说也应该虐待下自己撒) 还原到最初的需求其实就是肿么好好的看一个[linux]项目的代码,大家有经验么
本来我是个 vim 死忠。但是突然发觉当上升到一个项目,各种交叉引用的时候就不是编辑器能满足我的需求了,一个 IDE 还是很必要的(想当初还是死死的鄙视俺 boss 用 IDE ),我现在是 vim+cscope+ctags 感觉还是不够快感。
我简单的需求是
* 特别是快速定位到某个文件 手工 ack/grep 出相关文件 # 这点直接 ack 就能做到了,但是能嵌入到 IDE 中还是很不错的
* 鼠标指这能看到 函数 / 变量 的 定义/声明 能做好索引 # 这点我在见识过 vs 后我突然发觉我好落后
* 高亮代码
* 带逻辑的框框提示 # 介个的意思是 比如一个逻辑判断 if 代码块有一个小的连线连着

拜托各位牛了
7482 次点击
所在节点    Linux
22 条回复
jybox
2014-09-11 23:48:00 +08:00
听说 JB 新出了个 CLion
jedihy
2014-09-12 02:32:11 +08:00
sbt2/3 +ctags插件,我用这个看内核源码的。仅次于win source insight
laputaprince
2014-09-12 02:49:40 +08:00
initialdp
2014-09-12 08:22:40 +08:00
source insight吧。这么多年过去了,我还没见过比SI更强的看(编辑)C/C++代码的工具。
leyle
2014-09-12 08:27:58 +08:00
你说的这些需求,vim和它的插件都可以很好的完成,死忠就更要深入了解啊。
happywowwow
2014-09-12 08:28:52 +08:00
si是重量级工具 什么功能都有
st是轻量级工具 界面风格简洁
两个都在用
helloworld00
2014-09-12 08:29:12 +08:00
书和源代码一起看效果好一些

推荐这本The Linux Kernel Primer
http://book.douban.com/subject/1906552/
zhangdawei
2014-09-12 08:43:30 +08:00
source insight很好用
有一个可能的问题是,linux支持文件名大小写区别,windows不支持,
farseer2014
2014-09-12 09:05:23 +08:00
我用vim+gtags+unite.vim+unite-gtags。
wizardoz
2014-09-12 09:20:17 +08:00
@initialdp source insight 最大的缺陷,不能支持utf8编码。这个直接导致我不能用sourceinsight
jsfaint
2014-09-12 09:25:05 +08:00
kernel的源码需要和啥项目交叉么?
如果是单纯的kernel, vim + gnu global 足矣(再广告一下俺的插件https://github.com/jsfaint/gen_tags.vim)
如果需要项目交叉,引用其他的库之类的,用ctags可以,但是略慢
也可以把youcompleteme配起来用,很不错
Limy
2014-09-12 11:31:11 +08:00
试一下 Linux Cross Reference
http://lxr.free-electrons.com
下面这个国内的有代码高亮,不过没有紧跟内核版本更新
http://lxr.oss.org.cn
xiaket
2014-09-12 11:37:41 +08:00
@zhangdawei 离题说下, 这个貌似是文件系统而不是操作系统级的问题.
myrual
2014-09-12 11:52:44 +08:00
source insight应该是最合适的。
nicai000
2014-09-12 12:13:36 +08:00
每天看, 不过内核的源码用了很多结构体指针(用C实现初级的面向对象), 然后指来指去, 用啥IDE都追踪不到啊...

我自己就是Vim + ctags + cscope, 偶尔用用lxr
zhangdawei
2014-09-12 13:11:54 +08:00
@xiaket 是文件系统的问题,不过windows下好像没太好办法,所以我开了个samba
soundbbg
2014-09-12 14:02:50 +08:00
看过,不过最好和书一起看,边看书边看源码,会比较有效率。当然linux源码是很庞大的工程,需要时间。看到最后你就会发现计算机也不过就是这样了。
hualuogeng
2014-09-12 14:54:13 +08:00
@laputaprince
ack.vim Ack can be used as a replacement for 99% of the uses of grep.
ag.vim Ag can be used as a replacement for 153% of the uses of ack.
Zuckonit
2014-09-12 17:19:38 +08:00
ag.vim
Youcompleteme
g0t3n
2014-09-13 13:01:29 +08:00
@all 昨天去了忙了木上网,没想到这么多回复,好感动
ps:lxr 其实还是真的不错的,另外

@jsfaint 我就看 kernel 而且是按兴趣抽出一小部分来看。另外我等下去看看你的插件哈~ [点个赞]
@leyle 我确实是 vim 的死忠所以决定继续发掘

@Limy thx 我一直是用国外的一个 lxr 速度有点慢,你贴出来的那个颜色看起还是很赞

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

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

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

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

© 2021 V2EX