Помимо истории ^ r / ^ s i-search:
alt.вставляет последнее «слово» предыдущей команды в курсор. Повторите это, чтобы получить последнее слово от старых команд. (Но обратите внимание, что конечный текст &считается последним словом для фоновых команд).
Это супер удобно для mkdir foo, cdalt-dot. Даже быстрее , чем стрелка вверх, ^ а, альт-D (удаление вперед слово) cd.
Чтобы получить второе-последнее слово, используйте esc - 2 alt+.(т. Е. Используйте числовой аргумент в стиле emacs для alt+.. Отрицательный счет с конца, положительный счет от начала.) Но обычно это больше проблем, чем стоит; в какой-то момент быстрее добраться до мыши и скопировать / вставить, или стрелку вверх и ^ w / ^ y ее часть (см. ниже).
Если ваш терминал настроен правильно / правильно, ctrl-left и ctrl-right будут идти вперед / назад по словам. Если нет, то, по крайней мере, alt-b и alt-f сделают то же самое.
Ctrl- / это отмена. Вы можете использовать автоповтор для более эффективного удаления слов, если вы можете отменить, когда вы немного отклонитесь от нормы.
Более мощное смешивание / сопоставление команд происходит благодаря использованию kill-ring, который работает так же, как в Emacs. Ctrl-Y, чтобы вставить последний Ctrl-W / Ctrl-U / Ctrl-Backspace / Alt-D. alt-y для циклического перебора старого убитого текста.
Множество ctrl-w или что-то подряд делает запись в kill-ring. Используйте стрелку влево и вправо или что-то, чтобы разбить запись, если вы хотите удалить две вещи и вставить только одну позже.
Объединяя все это вместе, вы можете
- начать вводить команду
- Ctrl-r, чтобы вернуться к старой команде и взять ее часть с помощью control-w или чего-то подобного.
- esc-r или
alt+rвосстановить его до того, как вы удалили его часть.
- alt
>- перейти в конец истории (т. е. всю стрелку вниз), чтобы вернуться к команде, в которой вы находились.
Другие интерактивные советы по использованию:
Включить shopt -s globstar, так что вы можете сделать **/*.c(рекурсивный, включая текущий каталог). Иногда удобно для интерактивного использования, но обычно find -name '*.c' -exec foo {} +лучше.
Если вы будете писать скрипты bash, вам будет удобно shopt -s extglobвключить их и в интерактивных оболочках. Вы иногда находите применение для таких вещей , как , *.!(c|h)чтобы соответствовать файлам , которые не заканчиваются на .c или .h.
Найти псевдонимы вы любите для ls -l, lessи все , что вы делаете много. ( cp -i, mv -iи rm -Iэто хорошо. Не имейте привычки зависеть от них, чтобы сделать выборочный rm. GNU rm's -I спрашивает один раз для всех аргументов.)
Мне нравится alias m=less(м для «больше»). Я lessустановил ,и .привязал к предыдущему / следующему файлу ( lesskey). По умолчанию используется последовательность нажатий нескольких клавиш, которую нельзя использовать с автоповторением.
Мне нравится делать все внутри экрана GNU. Я считаю, что легче отслеживать пронумерованные окна, чем множество вкладок в Konsole (или любом другом эмуляторе терминала, который я пробовал). Если вы еще не знаете screen, изучите tmux, потому что он более новый и менее хитрый.
Чтобы получить что-то похожее на функциональность открытия новой оболочки с тем же cwd, что и у другой оболочки, я использую пользовательский хук для cd / pushd / popd, который позволяет мне делать cds 8cd на любой каталог, который использует моя оболочка в экранном окне 8. Это работает даже для оболочек вне сеанса экрана, если только один сеанс экрана.
fish;)