Как сбросить сочетания клавиш Bash?

Как я могу сбросить сочетание клавиш Ctrl + C в оболочке bash? Я изменил это несколько месяцев назад и, похоже, не могу его восстановить.

2
задан 5 November 2012 в 01:30

2 ответа

Ярлык Ctrl+C, используемый для отмены процессов в терминале, не является ярлыком удара, но касается tty, как это - ярлык для одного из сигналов (SIGINT в этом случае), который может быть отправлен в процессы, которые активны в терминале. Как отмечено в этом обсуждении Wildplasser,

Это - терминал (драйвер), который прерывает ^C и переводит его в сигнал, отправленный в приложенный процесс (который является оболочкой).

Для больше о том, как SIGINT и другие сигналы POSIX обрабатываются, посмотрите это подробно статья.

Как примечание, ярлыками Bash как Ctrl+A (для перемещения в начало строки) и другие управляет readline библиотека; текущей привязкой можно показать bind -P; посмотрите man bash и man readline, или страницы справочника Ubuntu онлайн. Однако, даже если у Вас также был набор Ctrl+C с помощью readline или в Вашем .inputrc, Ctrl+C набора tty все еще переопределил бы его.

Однако необходимо проверить, изменили ли Вы какие-либо сочетания клавиш в gnome terminal. Войдите в меню и нажмите редактирование> сочетания клавиш, как будто Вы сделали один из тех Ctrl+C, которые переопределили бы tty Ctrl+C.


Проверять текущую tty выполненную привязку stty -a, который перечисляет, например,

intr = ^C; quit = ^\; erase = ^?; kill = ^U; eof = ^D; eol = M-^?; eol2 = M-^?;
swtch = M-^?; start = ^Q; stop = ^S; susp = ^Z; rprnt = ^R; werase = ^W; lnext = ^V;

Для очистки, текущая привязка для сигнала прерывания (предают земле), первый показ:

stty intr ^- и только затем выполненный stty intr ^C повторно присваивать ярлык.

Удостоверьтесь, что Вы используете верхний регистр C, поскольку это очень важно. Это - способ сбросить ярлык, но если это все еще не работает, Вы, возможно, должны поместить stty intr ^C в файле и имеют его чтение при запуске терминала, как я обсуждаю в связанном ответе здесь.

Более общая информация о Ctrl+C доступна в этих двух статьях Stackoverflow:

1
ответ дан 5 November 2012 в 01:30

Чтобы переназначить сигнал прерывания (или SIGINT ), вызовите команду stty вместе с правильными аргументами отображения:

stty intr ^c

Источник: [ 118]

0
ответ дан 5 November 2012 в 01:30

Другие вопросы по тегам:

Похожие вопросы: