Намедни я стал ощущать что в bash стало чего-то не хватать и в памяти всплыл zsh с его одной из заметных фишек - менюшки с возможными подсказками. Пара часов возни с конфигом и вуаля - готов мой .zshrc, которого должно хватить на первое время.
Оболочка Z (zsh) разработана с целью интерактивного использования, а не для программирования, поэтому она включает множество функций, упрощающих использование и выполнение команд. Примеры включают более обширное сопоставление имен файлов (подстановка), несколько потоков для перенаправления входов/выходов и полностью настраиваемую систему завершения командной строки. источник
Фишки zsh которые подкупили меня: менюшка с удобными подсказками в зависимости от контекста, глоббинг, перемещение без cd, перемещение по первым буквам каталога, исправление опечаток и т.д - и причем все это можно настраивать. Еще завлекающий пост про zsh есть тут.
Несколько удобных мелочей:
ls *(m0) - отображение изменений в текущем каталоге за сегодня ls **/*.py - список питоновских сорцов в текущей и вложенных папках ls **/*(u:proft:) - список файлов принадлежащих пользователю proft
Установим последнюю версию zsh под Ubuntu:
sudo apt-get install zsh
или под CentOS
yum install zsh
Если запустить zsh сразу после установки без файла с настройками то zsh не так уж и привлекателен и без минимального тюнинга им вряд ли можно комфортно пользоваться - из коробки даже нет подсказок.
Поэтому качаем чей-то конфиг и начинаем работу с него, раз вы вы читаете эту заметку то можете начать с моего конфига :) :
wget https://raw.githubusercontent.com/proft/dotfiles/master/.zshrc -O ~/.zshrc
Под CentOS могут не работать клавиши Home, End, Delete, для этого нужно подключить и настроить zkbd, про что описано тут.
Хороший пример .zshrc с комментариями есть у muhas, там же про горячие клавиши или тут - иногда забываю или путаю хоткеи.
Если решили заменить bash на zsh то
chsh -s /usr/bin/zsh
Дополнительное чтиво