emacs -nw проблемы с cscope и терминалами - PullRequest
0 голосов
/ 17 мая 2011

Мало проблем с emacs в терминальных окнах. Любая помощь приветствуется.

а. Я запускаю emacs через ssh с emacs -nw с включенным cscope. После того, как я ищу символ или определение, в буфере cscope, когда я нажимаю «ввод», emacs говорит - Буфер доступен только для чтения. Принимая во внимание, что та же самая функциональность в emacs с xwindows (gtk или чем-то еще) приводит меня к файлу и строке в буфере редактирования. Как я могу иметь такую ​​же функциональность с 'emacs -nw'.

б. Также стрелка на буфере редактирования / источника, когда я делаю следующую ссылку для символа из буфера cscope, остается в буфере редактирования. Как я могу заставить это пойти?

с. Мои ключи сопоставлены с функциями cscope, как в xcscope.el. Все управляющие клавиши ожидают, что Ctrl-F3 и Ctrl-F4 работают. Как я могу включить это тоже.

Большое спасибо,

Ответы [ 2 ]

1 голос
/ 21 июня 2013

а. Добавьте следующее в ваш файл .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)
0 голосов
/ 17 мая 2011
Терминал

отправляет последовательности ключей, отличные от ожидаемых emacs. вам нужно предоставить переводы для типа терминала, чтобы заставить emacs работать правильно. например, у меня есть этот конфиг для настройки терминала, который я использую (странный символ - буквальный символ «escape», который вы можете ввести, используя "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».

...