Я много работаю в терминале, поэтому я многое узнал о своей оболочке, zsh. Какие функции zsh вы используете, чтобы сделать себя намного более продуктивным на работе? Один из моих любимых - автозаполнение с несколькими режиссерами. Поэтому вместо того, чтобы печатать, cd /fo{tab}/ba{tab}/ba{tab}
я могу просто cd /fo/ba/ba{tab}
сохранить и сохранить столько нажатий клавиш!
command-line
shell
zsh
Фрю Шмидт
источник
источник
Ответы:
Просто нашел этот маленький драгоценный камень:
Эта форма
cd
заменяет все вхожденияold
в полном пути к текущему каталогуnew
и пытается изменить рабочий каталог на результирующий путь.Например, если ваш рабочий каталог
/home/larry/code/backrub/server
и вы хотите переключиться/home/sergei/code/backrub/server
, все, что вам нужно сделать, это:источник
Я буду придерживаться того, что, насколько я знаю, Баш не может сделать.
Необычное завершение. Да, в bash есть некоторые из них, но zsh знает больше команд, часто более точен и имеет гораздо больше возможностей для конфигурации.
**
Глоб, например,**/foo
выглядит для файлов , называемыхfoo
в подкаталоги рекурсивно. (А***/foo
также следует за символическими ссылками.) Два символа вместо длиннойfind
команды (что трудно понять, если некоторые имена файлов содержат специальные символы, такие как пробелы и кавычки).Реже, такие как квалификаторы glob
foo*(*)
(напримерfoo*
, но сохраняются только исполняемые файлы),foo(.)
(только обычные файлы, а не каталоги),foo(-@)
(только висячие символические ссылки),foo*(m-5)
(только файлы, измененные за последние 5 минут),foo*(om[1])
(последний измененный файл) , так далее.autocd
: Ввод имени каталога в виде команды изменится на него (cd
или вpushd
зависимости от того, как вы его настроили). Командаcd
состоит из трех символов слишком долго! Я не могу использовать bash более тридцати секунд, не чувствуя боли. У меня также есть несколько односимвольных функций, таких какzmv
Встроенная, иПока я на это
noglob
встроен.Функции
precmd
иpreexec
ловушка: я использую,preexec
чтобы установить заголовок моего терминала, чтобы включить бегущую команду, иprecmd
заменить команду ее кодом выхода. Что-то типаbg
(так что Ctrl + Z Ctrl + Z приостанавливает работу программы и сразу же возобновляет ее в фоновом режиме).setopt append_history autocd extended_glob no_match
источник
Способность zsh к автозаполнению, кроме файлов и каталогов.
Например, с установленным пакетом git, git-sh {tab} вызывает:
источник
Мне очень нравятся глобальные псевдонимы, так
позвольте мне делать такие вещи, как
и получить пейджинг.
источник
Как уже упоминалось, автозаполнение Zsh отлично.
Вы также можете настроить собственное автозаполнение для пользовательских команд без особых хлопот. Чтобы отобразить полные имена пользователей в качестве аргументов для finger:
Другие параметры, которые я хотел бы установить:
Pushd и popd также очень удобны.
К сожалению, клавиши home и end по умолчанию не работают на zsh, как на других оболочках, но вы можете это исправить.
источник
Включить автозаполнение при использовании
scp
на удаленном сервере.Правильная подсказка для отображения дополнительной информации.
источник