在 Visual Studio 中,编辑 C/C++ 代码时,按 F12 按钮更容易跳转到函数或变量的声明。
在 Emacs 中是否有快捷键可以实现同样的功能?
在 Emacs 中是否有快捷键可以实现同样的功能?
其实,这要比那个复杂一点。
默认情况下,Emacs不能“识别”C或C++代码的函数声明。首先,获取Exuberant Ctags。然后,在源代码上使用etags
命令(Emacs的ctags)。将生成一个名为TAGS
的文件。
接下来,在编辑源代码时,当您想跳转到声明时,请按M-.(meta和点,或现代键盘上的alt和点)。起初,Emacs会要求您指定标记文件的位置。将其指向您生成的标记文件后,导航将自动进行。
我建议阅读关于标记的Emacswiki文章,以更好地理解此功能。
最新版本的Emacs(23.2)附带了CEDET集成,提供了更高级的C和C++导航功能,但设置起来可能有些困难,所以如果您感兴趣,可以阅读更多相关信息。
ctags -R -e --c-kinds=cdefglmnpstuvx
运行了ctags。 - Ahmed FasihM-*
,它将允许您返回到起始位置(即使用 M-.
的位置)。您可以递归使用两者。 - init_jsM-
(即C-u M-.
)将带您到下一个标签匹配项(通常是声明)。还有一个--declarations
选项,但Exuberant Ctags似乎不支持它。semantic-ia-fast-jump
通常会跳转到前向声明而不是定义或声明。