Как переслать `<Ctrl> - <Tab>` в Konsole? - PullRequest
3 голосов
/ 15 апреля 2010

Я хочу использовать интеллектуальное табулирование в Emacs в режиме C ++, но я также хочу иметь возможность вставлять символ табуляции при необходимости. Из других постов я понял, что самый простой способ - привязать <Ctrl>-<Tab> к отступу. Однако кажется, что Konsole в KUbuntu не будет пересылать <Ctrl>?

Мой текущий файл .emacs содержит:

(defun my-c-mode-common-hook ()  
 (setq c++-tab-always-indent t)
 (setq tab-width 4)
 (setq indent-tabs-mode t)
 )

(add-hook 'c-mode-common-hook 'my-c-mode-common-hook)

(global-set-key [C-tab] 'self-insert-command)

Так что я считаю, что это <Ctrl>-<Tab> будет привязано к вставке символа табуляции. Тем не менее, когда я бегу:

<Ctrl>-h k <Ctrl>-<Tab>

Emacs только сообщает, что я нажал клавишу табуляции. Есть ли какая-либо опция для Konsole (которую я искал безрезультатно) или глобальные настройки в KUbuntu, которые мне нужно установить, чтобы <Ctrl>- также передавался? (Он, безусловно, перенаправляет все остальные <Ctrl>-blah команды.)

Ответы [ 2 ]

3 голосов
/ 17 апреля 2010

Вы можете использовать Control-Q (цитата, это то, о чем я думаю, чтобы запомнить это), а затем нажать клавишу Tab, и вы вставите символ табуляции. Вы можете использовать Control-Q, чтобы вставить любую последовательность символов, которая вам нужна. Надеюсь это поможет. :)

2 голосов
/ 20 ноября 2010

Мне пришлось решить ту же проблему, и я нашел ответ здесь: http://www.linux -archive.org / убунту пользователь / 189410-эквивалентно-Xterm-VT100-переводы-строка-гном-terminal.html

Я сделал следующее:

  1. подготовить свой собственный файл настройки привязки ключей konsole ~ / .Kde / доля / приложения / Konsole / линукс-custom.keytab
  2. запустите konsole, указав настроенную таблицу ключей

    % konsole --keytab linux-custom

  3. связывание ключей в Emacs

Моя привязка в linux-custom.keytab -

key Tab   +Control       : "\E[4t" # control tab will generate esc [ 4 t
key Backtab              : "\E[4s" # shift tab will generate esc [ 4 s

(я не знаю никаких правил для назначения кода ключа, поэтому я выбрал код, который еще не используется.)

В моем файле настроек Emacs, который вызывается из .emacs, я поместил следующие привязки

(define-prefix-command 'terminal-key-map)
(global-set-key (kbd "\e[") 'terminal-key-map)
(define-key terminal-key-map (kbd "4t") 'other-window) ;control tab
(define-key terminal-key-map (kbd "4s") 'other-window) ;shift tab

Я также настроил другие клавиши, такие как control ;, control ', control = и т. Д. Таким же образом.

...