Это возможно, но это немного каменно. Используйте такой инструмент, как Karibinder, чтобы переназначить C-S-delete
при использовании вашего терминала на последовательность клавиш, которую ваш терминал получает. Вы можете использовать M-x describe-unbound-keys
с unbound.el, чтобы найти такие ключи. Затем в вашей конфигурации emacs вы должны переназначить эти клавиши на соответствующие функции.
Вот пример того, как вы можете переназначить C-S-delete
на C-x n M-[ u
с помощью Karibinder, поместив его в свой файл private.xml
. документация Карабиндера очень хороша.
<appdef>
<appname>TERMINAL</appname>
<equal>com.apple.Terminal</equal>
</appdef>
<item>
<name>Fix C-S-delete Emacs</name>
<identifier>private.m_s_delete_emacs</identifier>
<only>TERMINAL</only>
<autogen>
__KeyToKey__
KeyCode::DELETE, ModifierFlag::OPTION_L | ModifierFlag::SHIFT_L,
KeyCode::X, ModifierFlag::CONTROL_L, KeyCode::N, KeyCode::BRACKET_LEFT, ModifierFlag::OPTION_L, KeyCode::U
</autogen>
</item>
И затем в вашей конфигурации emacs:
(global-set-key (kbd "C-x n M-[ u") 'kill-whole-line)
Возможно, есть больше пользователей OS X, которые предпочитают использовать терминальную версию emacs, а не версию с графическим интерфейсом. В этом случае сообщество может создать комплексную конфигурацию Karbiner & emacs, чтобы охватить все последовательности клавиш, использующие модификаторы, не поддерживаемые терминалом. Я считаю, что на данный момент такой вещи нет, но я обновлю свой ответ, если что-нибудь найду или если что-то будет создано.
person
Bart Louwers
schedule
06.01.2016
emacs -nw
в окне терминала. - person tripleee   schedule 15.08.2015