Привет!
Передо мной встал выбор: или устанавливать zsh на серверах и копировать туда свой ~/.zshrc, или попытаться сконфигурировать ~/.bashrc таким образом, чтобы поведение при интерактивной работе было такое же, как и на zsh.
Собственно, прошу вашей помощи.
Что нужно:
1. Автодополнение по меню.
Например, набираю ssh <TAB>, появляется список хостов:
192.168.1.1
192.168.1.2
192.168.1.3
192.168.1.4
Что нужно: стрелками маневрирую по этому списку. Выбрав нужное значение, жму <ENTER>, срабатывает автодополнение: ssh 192.168.1.x
Как сейчас: менюшка появляется, навигация отсутствует.
-------------------------------------------------------------------------------------
2. Алиасы по расширению
Что нужно: выполнив в консоли, например, /tmp/readme.txt, автоматически открывается файл /tmp/readme.txt с помощью того, что указано в конфиге.
Пример моего конфига:
PLAINTEXT_EDITOR='vim'
alias -s conf=$PLAINTEXT_EDITOR
alias -s ini=$PLAINTEXT_EDITOR
alias -s txt=$PLAINTEXT_EDITOR
Как видите, файл откроется в vim.
Как сейчас: вручную запускается vim с аргументом, или открывается файл средствами самого vim.
-------------------------------------------------------------------------------------
3. Аналог alias -g
Пример:
Что нужно: при подставлении символа
G, оболочка разворачивает его в конструкцию
| grep
Как сейчас: никак.
Остальные вещи удалось сконфигурировать.
К ним относятся:
1. autocd
2. history sharing
3. history-search-backward/history-search-forward
4. autocompletion on single TAB press
5. cdspell
Про какие-то удобные вещи наверняка забыл, но в процессе всё равно столкнусь с их отсутствием.