在visual studio中,在编辑C / C ++代码时,更容易按F12按钮跳转到函数或变量的声明。
emacs中是否有一个快捷键可以做到这一点?
答案 0 :(得分:24)
嗯,它比那更复杂。
默认情况下,Emacs不“了解”C或C ++代码的函数声明。首先,获得Exuberant Ctags。然后,在源代码上使用命令etags
(用于Emacs的ctags)。将生成名为TAGS
的文件。
然后,在编辑源代码时,如果要跳转到声明,请按 M - 。(元和点,或现代键盘上的alt和点)。首先,Emacs会询问您标签文件的位置。将其指向您生成的那个,然后导航将自动进行。
我建议您阅读Emacswiki article about tags以更好地了解此功能。
最新版本的Emacs(23.2)附带CEDET集成,它具有更高级的C和C ++导航功能,但设置起来可能有点困难,所以如果你有更多关于它的内容感兴趣。
答案 1 :(得分:11)
正如其他人所说,在emacs中没有内置的通用解决方案。也就是说,在IntelliJ中使用此功能之后我也想在emacs中使用它,所以我制作了Dumb Jump。
现在Dumb Jump基本支持:
可通过MELPA获取,并且正在积极开发中。
答案 2 :(得分:5)
M-。键将带您进入功能定义emacs。
答案 3 :(得分:4)
有多种方法可以做到这一点。正如darioo所提到的,Ctags是一个,但默认情况下它会定义(这可能适合你)。但是,进一步看,您可以看到前缀M-.
(即C-u M-.
)将带您进入下一个标记匹配(通常是声明)。还有一个--declarations
选项,但Exuberant Ctags似乎不支持它。
CEDET是另一种选择,但根据我的经验,它还没有为生产做好准备。在C ++ semantic-ia-fast-jump
中,通常会转发声明而不是定义或声明。