Що таке послідовність аварійної аварійної послідовності ANSI gnome для "CTRL + стрілка / с"?


10

Я намагаюся налаштувати мій Баш ~/.inputrcці настройки
(Примітка: , означають клавіші зі стрілками вліво і вправо)

  • Ctrl+ - має стрибнути слово назад
  • Ctrl+ - має стрибнути слово вперед

В даний час у мене це є, ~/.inputrcі це не працює. Ctrl + arrowнічого не виробляє.

"\eC-5C":forward-word
"\eC-5D":backward-word

Я впевнений, що моя послідовність втечі неправильна.
Які правильні послідовності втечі для Ctrl + arrowкомбінацій?

  • термінал: tmux всередині gnome-терміналу

Відповіді:


14

Gnome-термінал (правильніше VTE ) імітує деяку версію послідовностей втечі xterm. Наскільки тісно це робить, залежить від версії VTE.

Відповідна документація xterm знаходиться в розділі Функціональні клавіші ПК у розділі керуючих послідовностей XTerm .

Те, що ви шукаєте, - це такий рядок \e[1;5D(для керування лівою стрілкою), де 5позначається controlмодифікатор.

У Ncurses, ви можете побачити ці рядки з використанням infocmp -x, в якості значень для kUP5, kDN5, kLFT5і kRIT5. Наприклад:

    kDN5=\E[1;5B,
    kLFT5=\E[1;5D,
    kRIT5=\E[1;5C,        
    kUP5=\E[1;5A,

дякую за відгук та посилання на ресурси. Це вирішило для мене проблему!
the_velour_fog

16

Найпростіший спосіб знайти те , що є коди ключовий послідовності для використання ctrl- v.

Отже, ви вводите ctrl Vта ctrl отримуєте:

^[[1;5C

Який спосіб писати ESC[1;5Cабо \e[1;5C.


вау, круто. чи знаєте ви, чи це призначена особливість gnome-терміналу, чи це щось, що було виявлено випадково?
the_velour_fog

І zsh ( bindkey|grep 'quoted-insert'), і bash ( bind -p|grep 'quoted-insert') мають прив'язку клавіш для виведення ключових кодів, встановлених на <c-v>.
kba виступає з Монікою

1
Для чого Ctrl-V виконує ту саму функцію в режимах Vim's Insert і Command.
joeytwiddle

4
@the_velour_fog Ctrl + V, що означає "вставити наступний символ замість того, щоб інтерпретувати його як термінальну команду", починається з перших днів Unix. Це особливість обробки командного рядка ядра, яку наслідували більш досконалі системи введення, такі як bash, zsh, vi, ...
Жил "SO- перестань бути злим"

1
@kba Для запису вони не єдині. Фактично Bash надається бібліотекою Readline GNU, від якої вона залежить, яка також прив'язує його до <c-q>того, що він відповідає копіюванню Emacs. Zsh також пов'язує його як <c-v>і , <c-q>але тільки якщо ви дозволите режим Vim, досить іронічно. Readline також використовується іншими речами, такими як import rlcompleterполіпшення Python . (Джерела: tiswww.case.edu/php/chet/readline/readline.html#SEC9 and man zshzle)
ssokolow
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.