Изменить сопоставления ключей для 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 

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

  • Есть ли буфер обмена в системах без GUI Ubuntu / Linux? Могу ли я синхронизировать его с моим локальным (OS X) буфером обмена?
  • Какой тип терминала я использую?
  • название динамического окна из ввода команды (TCSH)
  • Шрифты хинди в xterm
  • Включить Ctrl + C для копирования и Ctrl + Shift + C для interrput
  • Чтение строки ответа ответа терминала в переменную
  • Команды Emacs в xterm
  • Почему нажатие Ctrl-h в xterm + tmux отправляет «^?»?
  • Как настроить поведение двойного клика в X-терминале?
  • Какова цель запуска xterm из обычного терминала
  • Как исправить сдвинутые функциональные клавиши в vim в xterm в gnome-терминале?
  • Interesting Posts

    Вставка многострочного текста в несколько файлов через командную строку

    Как разрешить пользователю A удалить файл B от имени B?

    настроить адреса электронной почты, которые не привязаны к пользователю

    есть ли файловая система, что один и тот же путь к файлу перемещается в другой файл, когда к нему обращаются разные пользователи?

    Fedora 21: Получение «libprocps.so.1: невозможно открыть файл общих объектов: нет такого файла или каталога» на ps

    сопоставить первый столбец файла a с параграфами файла b

    Fedora 23 Wayland On Dell Latitude E7440 Проблема

    grep или найти шаблон во всех каталогах

    Как я могу передать пути в файле в качестве аргументов сценария оболочки?

    Заменить произвольные числа слова

    Как найти, какой пакет предоставляет файл?

    Как-то удалось отключить mplayer и не могу понять, как восстановить звук

    Как изменить только mtime каталога?

    Postfix как MTA и не может получать электронную почту

    Перемещение файлов точек с использованием bash и создание символических ссылок

    Linux и Unix - лучшая ОС в мире.