7

Я хотел бы получить хорошее руководство по общим комбинациям управляющих клавиш, используемых в оболочках bash (и аналогичных), и комбинациям, используемым общими программами, используемыми в этих оболочках.

Моя особая мотивация - иметь возможность запускать экран GNU на одном компьютере, ssh - на другом компьютере, использовать screen и irssi на этом компьютере. Поэтому мне нужно использовать что-то кроме Ctrl-A для управления одним из сеансов экрана. Поэтому мне нужно знать, какие комбинации клавиш управления безопасны в использовании.

Но я полагаю, что этот список будет полезен для тех, кто хочет связать пользовательские действия с комбинациями клавиш Control.

Я считаю, что было бы лучше сгруппировать комбинации клавиш управления по приложениям (например, сам bash, screen, vim, emacs), чтобы было легче определить приложения, которые вы используете или можете игнорировать. Поэтому, пожалуйста, одно заявление на ответ - надеюсь, что это работает.

6 ответов6

6

Сам Bash использует библиотеку readline GNU, как и многие другие интерактивные программы командной строки. Readline имеет следующие привязки клавиш по умолчанию, которые имитируют поведение emacs:

Перемещение по линии:

  • Ctrl + A Перейти к началу строки, на которой вы в данный момент печатаете
  • Ctrl + E Перейти к концу строки, на которой вы в данный момент печатаете

Редактирование текста в строке:

  • Ctrl + U Очищает линию перед положением курсора. Если вы находитесь в конце строки, очищает всю строку.
  • Ctrl + H То же, что и Backspace
  • Ctrl + W Удалить слово перед курсором
  • Ctrl + K Очистить строку после курсора
  • Ctrl + T Поменять местами последние два символа перед курсором
  • Esc + T Поменять местами последние два слова перед курсором

Другой:

  • Ctrl + L Очищает экран, аналогично команде очистки
  • Ctrl + R Давайте искать через ранее использованные команды
  • Ctrl + C Убить все, что вы работаете
  • Ctrl + D Выход из текущей оболочки
  • Ctrl + Z Помещает все, что вы запускаете, в приостановленный фоновый процесс. фг восстанавливает его.
1

Vim использует:

  • Ctrl-B назад (вверх) на один экран
  • Ctrl-D вниз по половине экрана
  • Ctrl-E прокрутка текста вверх (курсор не двигается, если это не нужно)
  • Ctrl-F вперед (вниз) на один экран
  • Ctrl-G показать статус
  • Ctrl-H Backspace
  • Ctrl-J линия вниз
  • Ctrl-L обновить экран
  • Ctrl-N переместиться вниз на одну строку (или прокрутить вперед по автозаполнению)
  • Ctrl-P переместиться вверх на одну строку (или прокрутить назад по автозаполнению)
  • Ctrl-R повторить (после отмены)
  • Ctrl-T - перейти к файлу / коду, который вы редактировали перед последним переходом тега
  • Ctrl-U до половины экрана
  • Ctrl-V войти в режим визуального блока
  • Ctrl-W используется для управления разделенными окнами
  • Ctrl-Y прокручивает текст вниз (курсор не двигается, если не должен)
1

Emacs использует все. С http://www.cs.rutgers.edu/LCSR-Computing/some-docs/emacs-chart.html :

  • C-SP set-mark-command
  • Ca начало строки
  • Cb назад-char
  • Cc exit-recursive-edit
  • Cd delete-char
  • Конец линии Ce
  • Ср. Forward-char
  • Cg (явно не упомянуто в ссылке выше, но используется как «отмена» при вводе команд)
  • Ch help-команда
  • Ci (TAB) команда отступа для табуляции
  • Cj (LFD) перевод строки и отступ
  • Ck kill-line
  • Cl Renter
  • См (RET) новая строка
  • Cn следующая строка
  • Co open-line
  • Cp предыдущая строка
  • Cq цитируется-вставить
  • Cr isearch-backward
  • Cs isearch-forward
  • Ct transpose-chars
  • Cu универсальный аргумент
  • Cv прокрутка вверх
  • Cw kill-region
  • Cx Control-X-префикс
  • Cy янки
  • Cz Suspend-Emacs
  • C-] abort-recursive-edit
  • C-_ отменить
1

Кажется, что Ctrl+Q был бы идеальной клавишей ESC для экрана GNU, есть ли причина, по которой никто этого не предлагает?

Единственный недостаток, который я могу вспомнить, это то, что в Mac OS X Command+Q - это сочетание клавиш для выхода из приложения, которое было бы немного опасно, если бы его путали с Ctrl+Q.

В противном случае, из текущих ответов и моих собственных исследований кажется, что ничто не противоречит Ctrl+Q.

1

Многие приложения используют библиотеку GNU readline, поэтому об этих сочетаниях клавиш полезно знать. Вы можете изучить их на странице руководства readline(2), которую легко просмотреть здесь:
http://linux.die.net/man/3/readline

0

Экран GNU по умолчанию использует Ctrl-A в качестве клавиши управления.

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .