emacs -nw与cscope和终端有关

时间:2011-05-17 05:04:20

标签: emacs xterm cscope

术语窗口中的emacs几乎没有问题。任何帮助表示赞赏。

一个。我在启用了cscope的emacs -nw上通过ssh启动emacs。在我搜索符号或定义后,当我按下'enter'时,在cscope缓冲区上,emacs说 - 缓冲区是只读的。而使用xwindows(gtk或其他任何东西)的emacs上的相同功能将我带到编辑缓冲区上的文件和行。如何使用'emacs -nw'具有相同的功能。

湾当我对来自cscope缓冲区的符号进行下一次引用时,编辑/源缓冲区上的箭头标记也会保留在编辑缓冲区中。我怎么能去?

℃。我的键映射到cscope函数,就像在xcscope.el中一样。所有控制键都需要Ctrl-F3和Ctrl-F4。我怎样才能启用它。

非常感谢,

2 个答案:

答案 0 :(得分:1)

一个。将以下内容添加到.emacs文件中:

(define-key global-map (kbd "\r") [return])

我从http://weenix.cs.brown.edu/mediawiki/index.php/Cscope

得到答案

湾如果您点击cscope缓冲区中的空格键,您将获得箭头。这只是一个展示品;文件没有改变。如果您想摆脱它,请将以下内容添加到.emacs文件中:

(setq cscope-allow-arrow-overlays nil)

答案 1 :(得分:0)

终端发送不同于emacs可能期望的不同密钥序列。您需要提供终端类型的翻译才能使emacs正常工作。例如,我有这个配置来设置我使用的终端(奇怪的字符是文字​​“转义”字符,您可以使用"C-q <esc>"输入:

(let ((map (if (boundp 'input-decode-map)
               input-decode-map function-key-map)))
  (define-key map (kbd "RET") [return])

  (define-key map "[OA" (kbd "<C-up>"))
  (define-key map "[OB" (kbd "<C-down>"))
  (define-key map "[OC" (kbd "<C-right>"))
  (define-key map "[OD" (kbd "<C-left>"))

  (define-key map "[A" (kbd "<C-up>"))
  (define-key map "[B" (kbd "<C-down>"))
  (define-key map "[C" (kbd "<C-right>"))
  (define-key map "[D" (kbd "<C-left>"))

  (define-key map "OA" (kbd "<M-up>"))
  (define-key map "OB" (kbd "<M-down>"))
  (define-key map "OC" (kbd "<M-right>"))
  (define-key map "OD" (kbd "<M-left>"))

  (define-key map "[OA" (kbd "<M-C-up>"))
  (define-key map "[OB" (kbd "<M-C-down>"))
  (define-key map "[OC" (kbd "<M-C-right>"))
  (define-key map "[OD" (kbd "<M-C-left>"))

  (define-key map "[[17~" (kbd "<C-f6>"))
  (define-key map "[[18~" (kbd "<C-f7>"))
  (define-key map "[[19~" (kbd "<C-f8>"))
  (define-key map "[[20~" (kbd "<C-f9>"))
  (define-key map "[[21~" (kbd "<C-f10>"))
  (define-key map "[[23~" (kbd "<C-f11>"))
  (define-key map "[[24~" (kbd "<C-f12>"))

  (define-key map "\e[1~" [home])
  (define-key map "\e[4~" [end])
  (define-key map "\e\e[1~" [M-home])
  (define-key map "\e\e[4~" [M-end])
)

在某些终端中,您可以通过键入“C-v”然后键入所需的键来获取密钥代码。这应该输出终端为“C-v”之后按下的键发送的实际密钥代码。