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