Получение <ctrl> + <клавиша Backspace> для удаления слов в терминале гнома и режиме вставки энергии

Это походит <ctrl> + W удаляет назад одно слово за один раз. Это является большим, но я был бы действительно действительно эта работа с <ctrl> + <backspace> как большинство других приложений.

Что лучший способ состоит в том, чтобы сделать это? Мне было бы нужно изменение для влияния на терминальные гномом команды, энергию командной строки и энергию GUI.

9
задан 23 November 2015 в 22:19

4 ответа

Вплоть до совсем недавно, терминал гнома испустил тот же код Клавиша Backspace и Ctrl + Клавиша Backspace , следовательно Вы не можете отличить два в своем приложении.

Это было зафиксировано в vte-0.42, который является частью Gnome 3.18, выпущенного этой осенью.

, Если Вы используете Коварный, можно найти обновленные пакеты в Gnome3, Подготавливающий .

3
ответ дан 23 November 2019 в 05:00

Это работает над моей машиной. Просто удостоверьтесь, что Вы используете tmux от ведущего устройства и nvim от linuxbrew и работ control+backspace в ударе и энергии также!

(Получают удар от linuxbrew также)

1
ответ дан 23 November 2019 в 05:00

Обратите внимание, что это будет работать в терминале и значении по умолчанию emacs режим (который Вы используете, если Ctrl+W удаляет предыдущее слово для Вас). Это не будет работать в vi режиме удара и не будет влиять на сам vi/vim. Это - поэтому, только частичный ответ, но лучшее этот emacs пользователь может предложить.


Этим видом вещи управляют readline библиотека, через поведение которой можно управлять ~/.inputrc. Редактирование (или создают, если оно не существует), ~/.inputrc и добавьте эту строку:

"\C-H":"\C-W"

Теперь, откройте новый терминал, и он должен работать.

Объяснение

\C-H на самом деле Control+BackSpace. Вы видите коды клавиши путем нажатия Ctrl+V затем, ключ, который Вы после. Вы будете видеть тот BackSpace возвраты ^H.

Теперь, должно быть возможно связать Control+BackSpace с функцией удара, которая удаляет предыдущее слово (backward-kill-word или unix-word-rubout) при помощи "\C-H": backward-kill-word. Однако я не могу заставить это работать. Это работает отлично с различными ключами ("\C-E": backward-kill-word, например, заставляет Ctrl+E удалить предыдущее слово), но по некоторым причинам, я не могу заставить это работать с BackSpace.

Так, как обходное решение, мы просто отображаем Ctrl+Backspace на Ctrl+W, который уже отображается на backward-kill-word. Так, когда Вы нажимаете Ctrl+Backspace, который будет переведен в Ctrl+W, который, в свою очередь, отправит backward-kill-word. Я получил идею для этого обходного решения из этого сообщения SU.

7
ответ дан 23 November 2019 в 05:00

Используйте вместо него Alt + Backspace : он работает так же, как Ctrl + Backspace , но не не требуют какой-либо конфигурации.

5
ответ дан 23 January 2020 в 09:52

Другие вопросы по тегам:

Похожие вопросы: