Помимо истории ^ r / ^ s i-search:
alt.вставляет последнее «слово» предыдущей команды в курсор. Повторите это, чтобы получить последнее слово от старых команд. (Но обратите внимание, что конечный текст &
считается последним словом для фоновых команд).
Это супер удобно для mkdir foo
, cd
alt-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 8
cd на любой каталог, который использует моя оболочка в экранном окне 8. Это работает даже для оболочек вне сеанса экрана, если только один сеанс экрана.
fish
;)