LINUX.ORG.RU

urxvt. Назначение горячих клавиш

 ,


1

2

Вроде простая и очевидная задача, но описаний толковых найти не смог. Общий принцип такой:
Rxvt*keysym.Shift-Control-H:\033[3~
но совершенно непонятно, откуда получать эти эскейп-последовательности вида \033[3~

Вот например, как выглядит команда удалить_слово? И где это искать?

А это точно надо делать в настройках терминала? У меня, например, такие вещи записаны в конфиге .zshrc:

bindkey '^H' backward-kill-word

Im_not_a_robot ★★★★★
()

Нашел следующие решения:

~/.inputrc

# Ctrl+Arrows - переместиться на слово вперёд
"\eOc": forward-word
"\eOd": backward-word

# Ctrl+Backspace - удалить предыдущее слово
"\C-H": backward-kill-word

# Ctrl+Delete - следующее слово
"\e[3^": kill-word

# Ctrl+Shift+Delete - удалить от курсора до конца строки
"\e[3@": kill-line

# Ctrl+U - удалить от курсора до начала строки
"^U": backward-kill-line

## не показывать сообщение "keycap picture insert mode" при зажатом Ctrl+Shift
## добавить в  ~/.Xresources:
URxvt.iso14755: false
URxvt.iso14755_52: false
Dreamdrawer
() автор топика
Ответ на: комментарий от Dreamdrawer

Но всё равно остаётся неясным, откуда берутся названия команд типа: forward-word
backward-word
kill-line

И коды клавиш типа:
"\e[3@"

Нашёл только, что можно выяснить код клавиши нажав в терминале Ctrl+V и клавишу, код которой требуется, но то, что выдаёт терминал, далеко не всегда соответствует тому, что можно найти в «рецептах» из сети.
Где эти последовательности перечислены и по какому принципу они формируются?

Dreamdrawer
() автор топика
Ответ на: комментарий от Dreamdrawer

Кстати, сочетание Ctrl+Shift+Backspace вообще не выдаёт какого-либо кода и никак не отзывается. При том, что Ctrl+Shift+Delete работает отлично.

Dreamdrawer
() автор топика
Ответ на: комментарий от Dreamdrawer

Поведение C-Backspace зависит от настроек и вообще реализации терминала.

anonymous
()

Спасибо всем за ответы, стало понятно.

Dreamdrawer
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.