Управление-клавиша "Backspace" (для Unix-убивать-убийства) для отладки?

In readline(3) Я должен быть в состоянии сопоставить Control-Backspace с той же функцией, что и Control-W (unix-kill-rubout). Независимо от того, что я положил в ~/.inputrc Я не могу получить это, чтобы быть признанным.

C-b: unix-kill-rubout

...например, не работает. Могу ли я сопоставить Control-Backspace с unix-kill-rubout в readline?

10
задан quack quixote
26.04.2023 15:55 Количество просмотров материала 3700
Распечатать страницу

7 ответов

добавлять

"\C-_": unix-word-rubout

to .inputrc Кажется, работает для меня.

The C-_ представляет символ подчеркивания элемента управления. Это то, что мой терминал отправляет при нажатии Ctrl+Backspace.

клавишей Ctrl+V тогда комбинация клавиш будет эхо его код на консоль. Для меня, нажав Ctrl+V затем Ctrl+Backspace Эхо ^_ С ^ означает Ctrl. В .inputrc \C- является модификатором Ctrl так \C-_ это то, что нужно здесь. Этот метод можно использовать для определения других комбинаций клавиш, которые можно использовать.

4
отвечен awatts 2023-04-27 23:43

как graywh указывает backspace часто представляется ^?. Для того, чтобы привязать к ctrl+bksp в своем .inputrc файл может потребоваться изменить библиотеку readline. Это ubuntu учебник включает в себя новый .keytab файл, который может переопределить вывод по умолчанию.

в моей системе это позвольте мне добавить "\e[9;3~": backward-kill-word мой .inputrc.

As readline поведение, кажется, различаются несколько на основе вашей системы, это стоит отмечая, что я использую Konsole на Kubuntu.

3
отвечен Henry Marshall 2023-04-28 02:00

Я сомневаюсь, что ваш терминал отправит специальный код для ctrl-backspace. Backspace обычно ctrl-?, и вы не можете добавить другой модификатор ctrl к символу ctrl.

один из вариантов может быть, чтобы ваш терминал отправить специальную escape-последовательность для Ctrl-Backspace, а затем карту, что в вашей конфигурации readline.

2
отвечен graywh 2023-04-28 06:34

для терминала linux, вы можете сделать это, изменив раскладку клавиатуры вы загружаете при запуске. В Ubuntu по умолчанию он загружает /etc/console-setup/cached.kmap.gz. Если вы найдете запись, соответствующую Ctrl-Backspace (вероятно, Control-Delete уже указан как Backspace), то вы можете изменить это на Control_w. Не уверен в терминальных эмуляторах, но konsole (эмулятор терминала KDE по умолчанию) имеет довольно хорошие настройки для keybinds. Надеюсь, это поможет:)

Chris

1
отвечен Chris Sykes 2023-04-28 08:51

это работает для меня (в urxvt, bash):

"\b":backward-kill-word
1
отвечен Bjørnar Hansen 2023-04-28 11:08

для пользователей Mac, вошедших в несколько систем Linux:

Если у вас нет доступа в интернет .inputrc или любые другие файлы конфигурации в системе, к которой вы обращаетесь, и хотите, чтобы все работало универсально независимо от того, в какую систему вы входите, вот решение с графическим интерфейсом с использованием Iterm2.

Я Iterm2, установленных на моем Mac из командной строки на моем Mac с помощью самогон (https://brew.sh)

brew cask install iterm2

Как привязать ключ последовательность контроля ключ в Iterm2

  1. скачать бесплатное приложение "коды ключей" из app store. Установите его по ссылке ниже и откройте его.

  2. ударил Ctrl+какой ключ в этом случае я буду использовать Ctrl+w.

    How to get the hex code

  3. код наговора в красном квадрате код мы хотим посылать к terminal

  4. теперь сопоставьте свою последовательность ключей в Iterm2, открыв ее из папки Applications - >Preferences - >Keys ->+.

How to map the command to the hex code

  1. это теперь карта opt + delete удалить в Ctrl+w в терминале, но вы можете использовать его для сопоставления любого ключа к другому. Я знаю Ctrl+w - плохой пример для Emacs, так как он не поддерживает Ctrl+w но вы можете использовать эту методологию для Emacs-совместимых ярлыки.
0
отвечен N D 2023-04-28 13:25

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх