Автодополнение после killall в zsh

Недавно меня осенило что искаробки bash в opensuse умеет дополнять по нажатию кнопки таб из списка запущенных приложений после команды killall, а используемый мной zsh нет.

Немного погуглив я нашёл решение: нужно добавить в конец файла ~/.zshrc следующие строки

P.S.: на одной машине автодополнение заработало сразу, а на другой нужно было закрыть консоль и открыть по новой чтобы перезайти в шелл.

 

ZSH

ZSH это отличная альтернатива BASH. Причём как для Linux так и для OSX.

Главным отличием ZSH является его гибкость настройки и внешней кастомизации. Для себя я выделил несколько пунктов:

  1. Автодополнение — вы скажете что и в BASH оно есть, но разве баш позволяет выбирать пункт из списка автодополнения стрелочками или курсором;
  2. Поиск пакета в репозиториях — Если я введу mc но он у меня не установлен то ZSH попросит пакетный менеджер поискать и если что-то найдётся вывести приглашение усстановить;
  3. Алиасы — они тоже есть в BASH, но разве баш умеет задавать алиас для запуска по расширению файла? Например если ядобавлю в конфиг alias -s {html,htm}=chromium то по запросу /srv/www/htdocs/index.html будет открываться браузер с этой страничкой;

После установки ZSH ничем не отличается от BASH, ну разве что кроме того что при первом обращении предлагает создать конфиг. Чтобы настроить ZSH я предлагаю вам погуглить уже готовые .zshrc и скачать себе. ещё советую проект oh-my-zsh который позволит настроить внешний вид и плагины. Например для OpenSuSe есть плагин suse конфиг которого содержит в себе алиасы типо zin как sudo zypper in или zup как sudo zypper up.

Примеры оформления

687474703a2f2f692e696d6775722e636f6d2f61506d4c692e706e67 687474703a2f2f6935392e74696e797069632e636f6d2f327631356475722e706e67 zsh zsh

Как видно правильно настроенный zsh умеет отображать например крестиком если предыдущая задача не была выполнена и спрашивать «не хочу ли я добавить sudo» если я забыл про это сам..