更改Emacs键映射(从Cc s到C- \)

yaa*_*ami 5 emacs

我正在尝试更改Emacs中的键映射(与cscope一起使用).Cscope有绑定之类的

"C-c s s", "C-c s g", "C-c s G" ... etc
Run Code Online (Sandbox Code Playgroud)

所以我正在尝试将地图更改为 C-\ s, C-\ g, C-\ G ... etc

我试过用

(define-key global-map "\C-\\-s"  'cscope-find-this-symbol)
Run Code Online (Sandbox Code Playgroud)

它抱怨说:

error: Key sequence C-\ - a starts with non-prefix key C-\
Run Code Online (Sandbox Code Playgroud)

我该如何纠正这个问题.我是Emacs和Elisp的新手.我尝试使用Emacs Wiki中建议的define-prefix-command函数.但它没有帮助可能是我没有正确使用它.有人可以让我知道任何可以帮助我做出这种改变的资源.一个示例代码段也会有很大帮助.

谢谢.

nsc*_*hum 7

你试着改变它的定义C-\ s.但是,C-\已经绑定了不同的命令.(您可以找到键绑定的内容C-h k.)

基本解释是:您的命令永远不会被执行.在第一次击键后已经执行了另一个命令.解决此问题的一种方法是首先取消定义另一个键.然后Emacs可以将其变成" 前缀键 ".

(define-key global-map "\C-\\" nil)

你还说"\ C - \\ - s",但你的意思是"\ C - \\ s"." - "表示"同时".

(define-key global-map "\C-\\s" 'cscope-find-this-symbol)