使用cscope的非GUI Emacs

时间:2008-12-12 23:32:24

标签: emacs cscope

所以,我正在通过一个糟糕的ssh连接运行emacs,我已将它设置为使用cscope。因为这个我不能使用X ...因此我在putty中运行emacs。但是,当我用cscope搜索某些内容并打开另一个缓冲区时,我不能 按照cscope告诉我该项目所在的文件和行号的链接。当我输入一个行号并按Enter键时,emacs告诉我“缓冲区是只读的”(它试图实际放入一个新行而不是链接)。有谁知道我可以如何关注这些链接?

6 个答案:

答案 0 :(得分:5)

我肯定不知道cscope - 但你应该能够通过在所有链接的缓冲区中执行“Ctrl-h m”来找到适当的键绑定。这应该打开另一个缓冲区,显示所有活动模式的帮助/键绑定。

E.g。如果在grep结果缓冲区中执行相同的操作,则表示键绑定“Cc Cc compile-goto-error”,用于在grep行号处打开文件(因此它可能与cscope的键相同)。

答案 1 :(得分:1)

作为解决方法,我在cscope结果行上按< space> 键。它显示了另一帧中的代码,尽管它没有将光标定位在那里。

答案 2 :(得分:1)

在xcscope.el中更改此行可修复计算机上的问题。

-(define-key cscope-list-entry-keymap [return] 'cscope-select-entry-other-window)
+(define-key cscope-list-entry-keymap (kbd "RET") 'cscope-select-entry-other-window)

答案 3 :(得分:0)

你可以在Tramp模式下使用cscope吗?我不熟悉cscope,但是我使用tramp模式通过SSH连接远程读/写文件有很好的结果。

答案 4 :(得分:0)

我相信GNU find version 4.2及更高版本支持-L以遵循符号链接。因此,

find -L . -name *.[ch] > cscope.files
cscope -b -R -q -i cscope.files

可能效果很好

答案 5 :(得分:0)

另一种解决方法。只需输入“o”即可选择所需内容。这意味着cscope-select-entry-one-window:)