Изменить сопоставления ключей для xfce4-terminal

Привет, я хотел бы немного изменить отображение ключей в xfce4-терминале, возможно, похоже на добавление Xterm.VT100.translations в .Xresources.

В частности, я хочу сделать ctrl-backspace удалить последнее слово, а ctrl-delete удалить следующее слово.

Бонус: я хотел бы сделать альт, действуя как ctrl (дублирующиеся функции) для backspace, delete, left arrow, стрелки вправо.

Как сделать все или любую из этих вещей в xfce4-терминале?

EDIT: Прогресс до сих пор: я использую bash, и bash использует библиотеку readline и встроенную функцию bash, «bind», чтобы сопоставить последовательности клавиш с функциями readline. Функции, которые мне нужны, оказываются «shell-kill-word» и «shell-backward-kill-word». В принципе, я должен был бы сделать что-то вроде этого:

"\C-Rubout":shell-backward-kill-word "\C-Delete":shell-kill-word "\M-Rubout":shell-backward-kill-word "\M-Delete":shell-kill-word 

Тем не менее, эмулятор xfce4-terminal или какой-то компонент выше по потоку в процессе (может ли он быть оконным менеджером, xfwm4, самой программой Xorg?) Не сотрудничает. В общем, мета-ключ переводится на символ Escape, например, это работает:

 "\ey":shell-kill-word <-- Meta + y kills next word 

но с обратным пространством и удалением ключей мне не повезло. Я проверил коды ключей от двух терминальных эмуляторов, xfce4-terminal и xterm, сгенерированных с помощью backspace, а также комбинации delete и control-key на моей клавиатуре. Вот они, как сообщает команда Chac от emacs:

 xterm: backspace: DEL delete: \e[3~ \C-backspace: \Ch \C-delete: \e[3;5~ \M-backspace: y-umlaut (y with two dots over it) \M-delete: nothing xfce4-terminal: backspace: DEL delete: \e[3~ \C-backspace: DEL \C-delete: \e[3;5~ \M-backspace: \e DEL \M-delete: nothing 

В частности, в xfce4-терминале невозможно связать \ C-backspace с именем shell-backword-kill-word, потому что он отправляет тот же самый ключевой код, что и регулярное backspace. И невозможно связать \ M-delete с shell-kill-word, потому что он вообще не отправляет код ключа.

Я расстроен, потому что одна (большая) причина перехода на Linux и решение всех проблем, связанных с аппаратным / программным обеспечением, – это то, что Linux настолько настраивается. Мне нравится, когда мои окна фокусируются, когда я курсирую над ними, а не нажимаю на них. Решение таких проблем, как эта в современных дистрибутивах Linux, показалось бы мне приоритетной задачей. К сожалению, у меня нет времени делать все фоновые исследования в X, и xfce мне нужно сделать, чтобы сделать следующий шаг в решении этой проблемы. Может ли кто-нибудь с большим знанием экосистемы Xorg указать мне в правильном направлении? Возможно, есть альтернативный эмулятор терминала, который делает это лучше?

Заключительный фрагмент информации: запуск emacs в X-окне, он получает все, кроме одного из кодов клавиш:

 backspace: <backspace> delete: <delete> \C-backspace: <C-backspace> \C-delete: <C-delete> \M-backspace: <M-backspace> \M-delete: nothing 

2 Solutions collect form web for “Изменить сопоставления ключей для xfce4-terminal”

Хорошо, вот что у меня на моем .zshrc для ctrl + <- , ctrl + -> и alt + <- , alt + ->

 ## use Ctrl <- and Ctrl -> for jumping to word-beginnings on the CL bindkey "^[[1;5C" forward-word bindkey "^[[1;5D" backward-word ## the same for alt-left-arrow and alt-right-arrow bindkey '^[[1;3C' forward-word bindkey '^[[1;3D' backward-word 

В моей системе они работают для crtl + del и alt + del, но я не нашел ключей для back-space ctrl + и alt + backspace .

 bindkey '^[[3;5~' kill-word bindkey '^[[3;3~' kill-word 

Вы вводите те нечетные символы, которые представляют каждую комбинацию клавиш, нажимая Ctrl + V, а затем комбинацию клавиш, которую вы хотите. Например, нажав Ctrl + V, а затем Ctrl + <- создает ^[[1;5D

Ну, я должен был разорвать xfce4-терминал, потому что привязки клавиш были кошмаром и возвращались к xterm. Оказывается, я предпочитаю иметь несколько окон для вкладок. Вот что я сделал для привязки клавиш для xterm <-> bash

 # ctrl-backspace "\Ch":shell-backward-kill-word # meta-backspace "ÿ":shell-backward-kill-word # ctrl-delete "\e[3;5~":shell-kill-word # meta-delete # not detected # ctrl-right-arrow "\e[1;5C":shell-forward-word # ctrl-left-arrow "\e[1;5D":shell-backward-word # meta-right-arrow "\e[1;3C":forward-word # meta-left-arrow "\e[1;3D":shell-backward-word 

Единственное, что мне не хватает, это мета-удаление … что вы можете сделать.

  • Цвета Vim, конфликтующие с терминальными
  • 8-битный вход в гном-терминал
  • Большие шрифты «xterm» на дисплеях HIDPI
  • OpenBSD 5.6 / fvwm2 / xterm отсутствует поддержка UTF-8
  • цвета xterm слишком яркие
  • Выходная скорость лимита в XTerm?
  • Сомнения в создании файла .Xresources.
  • FVWM: Сделать xterm на вершине, условно
  • Как перейти с терминала Xterm на терминал по умолчанию в Ubuntu 16.04
  • Как изменить отображение ключей для клавиш HOME и END в XTERM?
  • курсор xterm не инвертируется правильно с выделенным / обратным текстом
  • Linux и Unix - лучшая ОС в мире.