Материал из Wiki.X-news.org
Перейти к: навигация, поиск

Горячие клавиши для shell / csh / zsh

Рубрика: Заметки на полях | Дата: 10 Дек 2010

Помню, что когда я впервые начал работать в консоли, меня озадачил тот факт, что многие клавиши там не работали .

А недавно понаблюдав, как знакомый стрелками вперед назад мечется по длинной строке команды для того, чтобы в нее внести исправления, решил, что тема актуальна.


Итак, горячие клавиши для работы в консоли. В скобках консоли, в которых это работает.

Сочетания с ctrl.

Ctrl + a — переход в начало строки (cisco, csh, zsh) Ctrl + b — переход на 1 символ назад (cisco, csh, zsh) Ctrl + c — посылает программе SIGINT. Обычно, прерывает текущее задание (csh, zsh) Ctrl + d — удаляет символ под курсором (аналог delete) (cisco, csh, zsh) Ctrl + e — переход к концу строки (cisco, csh, zsh) Ctrl + f — переход на 1 символ вперёд (cisco, csh, zsh) Ctrl + k — удаляет всё, до конца строки (EOL, а не на экране!) (cisco, csh, zsh) Ctrl + l — очищает экран. Аналог команды clear. (csh, zsh) Ctrl + r — поиск по истории. Повторение поиска (листание результатов поиска). То есть инкрементальный поиск. (zsh) Ctrl + j — прекращает поиск и позволяет отредактировать найденную команду. Если поиск не производился, то аналогично нажатию return. (в zsh выполняет команду) Ctrl + t — меняет символ под курсором на предыдущий. Или, если хотите, тянет предыдущий символ к концу строки. (cisco, csh, zsh) Ctrl + u — удаляет все символы слева от курсора до начала строки. (cisco, в csh, zsh удаляет всю строку) Ctrl + w — удаляет символы слева от курсора до начала слова. (cisco, csh, zsh) Ctrl + xx — переходит от текущей позиции курса в начало строки и обратно. На циске работает аналогично ctrl + u. (csh) Ctrl + x @ — показывает возможные дополнения имени хоста (имена берутся из /etc/hosts) Ctrl + z — suspend’ит текущую задачу (csh, zsh) Ctrl + x; Ctrl + e — открывает $EDITOR для изменения введённой строки. После сохранения изменений, команда отправляется на исполнение. Если переменная не задана, то открывается системный текстовый редактор (для линукса это, зачастую, nano)

Сочетания с Alt

Alt + < — переход к первой команде в истории команд (zsh) Alt + > — переход к последней команде в истории Alt +? — показывает список возможных дополнений команды(аналогично tab-tab) (в csh, zsh аналог which string) Alt + * — вставляет все возможные дополнений команды в строку команд Alt + / — пытается дополнить имя файла (аналогично табуляции) Alt +. — вставляет последний аргумент предыдущей команды (аналог !$, только не надо делать :p, чтобы проверить ) Alt + b — сдвигает курсор влево на 1 слово (cisco, csh, zsh) Alt + c — делает букву под курсором большой, а остальные, до конца слова, маленькими. (cisco, csh, zsh) Alt + d — удаляет символы с текущей позиции курсора и до конца слова. (cisco, csh, zsh) Alt + f — передвигает курсор на одно слово вперёд (cisco, csh, zsh) Alt + l — делает все буквы с текущей позиции курсора и до конца слова маленькими (cisco, csh, zsh) Alt + t — меняет местами слова под курсором и предыдущее (zsh) Alt + u — переводит буквы с текущей позиции курсора и до конца слова в верхний регистр (cisco, csh, zsh) Alt + back-space — удаляет символы с текущей позиции курсора до начала слова (cisco, csh, zsh)

2T это двойное нажатие клавиши TAB.
2T — дополнение вашей команды. Если команда не набрана и строка пустая, то появится список доступных команд

(string)2T — список возможных дополнений (dir)2T — покажет подкаталоги папки dir

*2T — покажет подкаталоги, кроме  скрытых (имена которых начинаются с точки)
~2T — выведет всех пользователей из /etc/passwd. Дополнив имя пользователя можно перейти в его домашний каталог. Например ~alex/ —  домашний каталог пользователя alex
$2T — выводит список дополнений для системных переменных
@2T — дополняет имена хостов содержащимися в /etc/hosts
=2T — листинг текущей директории, аналогичный ls.