2015-07-30 3 views
1

Я хочу переназначить Control-v для использования моей пользовательской функции, но похоже, что я не могу этого сделать. Я запускаю emacs в терминале.не может переназначить C-v в emacs

(global-unset-key "\C-v") 
(global-set-key "\C-v" 'my-cut-or-paste) 

Если я пытаюсь сбросить первый, C-ч к просто не показывает какой-либо привязки для этого ярлыка, и C-v просто ничего не делать. Если не отключить ярлык, его не получить переназначить ... Странно, что C-h k показывает разные клавиши для таких ярлыков. Так, например - один раз, он может показать

г запускает команду самостоятельной вставки-команду, которая представляет собой интерактивный

другое время (после EMACS перезагрузки)

я бежит команда self-insert-command, которая является интерактивной

Если я пытаюсь установить свою функцию на такие клавиши (i или r), Cv получает переназначение, но этот ключ s (i или r) также отображаются на мою функцию, поэтому я не могу напечатать тип.

Является ли это ключевыми последовательностями, связанными с терминалом? Он способен вообще? спасибо.

ответ

1

Мое предположение заключается в том, что ваш терминал перехватывает C-v как команду paste-from-clipboard.

Если буфер имеет то, что начинается с я, вы видите:

i runs the command self-insert-command, which is an interactive 

Похожие на «г» или другими буквами. Emacs не следит за тем, что «буквы» поступают из внешней пасты, а не с клавиатуры. Вы должны проверить параметры конфигурации вашего терминала, чтобы узнать, можете ли вы отключить этот ключ.

+0

Хорошо, похоже, что вы правы - я перепутал пасту в конфигурации терминатора с другим привязкой клавиш, и все работает сейчас. Проблема в том, что теперь, чтобы вставить из буфера обмена в терминал, я должен использовать другой ключ ... Может быть, я могу заставить его работать как-то, чтобы сохранить те же самые ярлыки как для emacs, так и для терминатора? Я действительно использую tmux, нет идей, если это можно сделать там? – sandric

Смежные вопросы