Горячие клавиши командной строки
Материал из Gentoo Linux Wiki
- Вернуться в раздел советов
Содержание |
[править] Горячие клавиши командной строки
- <ctrl> + d
Покинуть сессию текущего пользователя. Если это последний пользователь, то вы автоматически разлогинитесь (если вы в иксах, то закроется текущее окно терминала).
- <ctrl> + r
Обратный поиск по образцу среди введенных команд. После нажатия просто вводите команду (или ее часть). Это, так называемая, функция "search as you type" (поиск во время набора). Чтобы перейти к следующей найденными команде еще раз нажмите <ctrl>+r. Enter запустит найденную команду, Esc выйдет из поиска, поместив последнюю показанную команду в командную строку. Нажмите <ctrl>+c для того, чтобы прервать и вернуться в пустую командную строку.
- <ctrl> + l
Очистить экран, оставив нетронутой вводимую сейчас команду.
- <ctrl> + c
Прерывает ввод текущей команды. Удобно, если вы передумали ;)
- <ctrl> + u
Стирает все что введено слева от текущей позиции курсора.
- <ctrl> + k
Стирает все что введено справа от текущей позиции курсора.
- <ctrl> + w
Стирает слово левее курсора (или начало слова до курсора, если вы в середине слова).
- <ctrl> + t
Меняет местами символ под курсором и символ слева от него.
- <alt> + d
Скопировать слово под курсором в буфер.
- <ctrl> + y
Вставить содержимое буфера (смотрите <alt> + d).
- <alt> + f
Перейти на слово вперёд.
- <alt> + b
Перейти на слово назад.
- <ctrl> + a
Перейти в начало
- <ctrl> + e
Перейти в конец
- <ctls> + /
Undo как в emacs.
| Примечание: По крайней мере в rxvt-unicode работает, обратная операция (redo) мне не известна. |
- <ctrl> + s
Приостановить вывод на консоль. Процесс при этом продолжает выполняться.
- <ctrl> + q
Продолжить вывод, остановленный с помощью <ctrl> + s
| Предупреждение: При использовании консольного "менеджера окон" screen последними двумя комбинациями пользоваться не рекомендуется (будет сложно восстановить вывод, т.к. это функция управления выводом терминала), лучше воспользоваться "родной" для него комбинацией C-a + Esc и далее курсором |
Если вы используете bash (насчет других шеллов, не знаю), то можете помещать задания в фон и возвращать назад:
- <ctrl> + z
Приостановить текущий процесс и послать его в фон. Очень удобно, к примеру, при редактировании файла, если нужно выполить некототрые действия и вернуться к редактированию (чтобы вернуться, используйте команду fg).
- fg
Продолжить выполнение команды, помещенной в фон с помощью <ctrl> + z.
- bg
Продолжить выполнение команды в фоновом режиме. Сначала нужно поместить команду в фон с помощью <ctrl> + z
- jobs
В случае, если вы приостановили несколько процессов, вы можете воспользоваться командой jobs, которая вернет вам пронумерованный список приостановленных процессов. Для продолжения выполнения процесса используйте команду %<№ процесса из списка>
также смотрите man jobs для более детальной информации
[править] Самая горячая в мире клавиша <tab>
Ничего, что я ее так обозвал? Тема какая: можно по этой клавише дополнять не только команды и пути. Можно дополнять ключи, опции... Всякие приятные мелочи, которые порой надоедает набирать ручками. (В контексте статьи добавлю, что <tab> = <ctrl> + i)
[править] Что нам понадобится
- bash-completion - это, собственно то, что нам надо
- gentoo-bashcomp - это дополнительная библиотека команд, которые используются только в gentoo (ключи emerge, esearch и т.п.). Она будет установленна автоматически вместе с bash-completion.
- bash-completion-config - утилита для подключения библиотек. (Опционально. Тот же эффект достигается eselect_ом.)
Предлагаю для начала поставить bash-completion.
# emerge bash-completion
[править] Что теперь с этим делать
Для того что бы это всё заработало необходимо добавить в ~/.bashrc следующие строки:
[[ -f /etc/profile.d/bash-completion ]] && \
source /etc/profile.d/bash-completion
После перезапуска bash_а всё должно работать. Для проверки наберите в консоли
# esel<tab>bash<tab>l<tab>
Если всё сработало, то должно было получится
# eselect bashcomp list
Эта команда выведет на экран список библиотек для которых можно включить bash-completion. Библиотеки для которых эта фича уже включена будут помечены звёздочкой.
О том как включить или выключить поддержку для определённой библиотеки можно узнать выполнив:
# eselect bashcomp
Так например можно включить поддержку лиспа:
# eselect bashcomp enable lisp
