fish - относительно новая командная оболочка для Unix-подобных операционных систем. К её отличительным качествам можно отнести подсветку синтаксиса и продвинутое автодополнение.
Также в fish изменён в сторону упрощения синтаксиса командного языка оболочки, в частности все управляющие конструкции единообразно завершаются ключевым словом end.
Ещё одним нововведением fish являются так называемые универсальные переменные, вводимые с помощью конструкции вида set -U переменная значение. Такие переменные разделяются между всеми экземплярами fish на данном компьютере и позволяют производить обмен информацией между ними.
Установка fish shell
Добавляем репозиторий, обновляемся, и устанавливаем fish.
Более подробную информацию можно прочитать тут.
Добавляем репозиторий из которого будем устанавливать fish и обновляем зависимости:
sudo apt-add-repository ppa:fish-shell/release-4 && sudo apt update
Устанавливаем fish:
sudo apt install fish -y
Вход в консоль fish
Для запуска выполняем команду:
fish
Устанавливаем командную оболочку по умолчанию
Чтобы выбрать fish командной оболочкой по умолчанию при загрузке системы, нужно выполнить команду
chsh -s $(which fish)
Чтобы вернуть bash по умолчанию, запускаем в fish оболочке
chsh -s (which bash)
Редактирование алиасов и конфигураций fish
nano ~/.config/fish/config.fish
Здесь прописываем алиасы в формате:
alias gs="git status"
Настройка темы в fish. Установка Oh My Fish!
Для установки выполняем следующую команду:
curl -L https://get.oh-my.fish | fish
После установки изменится вид приглашения командной строки.
Показать список установленных пакетов
omf list
Выбрать тему
omf theme _НАЗВАНИЕ_
Установка тем
Чтобы установить тему в fish, выбираем понравившуюся тему из списка доступных тем, и устанавливаем с помощью команды:
omf install agnoster
Тема сразу же применится.
Установка модулей
Например, установим плагин для более удобного ввода команд git.
omf install https://github.com/jhillyerd/plugin-git
Пример команд:
| Команда | Результат |
|---|---|
| gss | git status -s |
| gcom | git checkout master |
| gl | git pull |
| gaa | git add --all |
| gc | git commit -v |
| ga | git add |
| gcm | git commit -m |
| gco | git checkout |
Поддержка команд bash
Для запуска команд bash через fish может возникнуть ошибка, для её решения есть модуль bass
Установка:
omf install bass
Пример использования:
$ bass export X=3
$ echo $X
3
Удаления целых слов через сочетание клавиш
Добавляем в ~/.config/fish/functions/fish_user_key_bindings.fish
function fish_user_key_bindings
# ctrl-del
bind \e\[3\;5~ kill-word
# ctrl-]
bind \c] backward-kill-word
end
Теперь удаляются слова через ctrl+del и ctrl+]
Удалить Oh My Fish
Вводим команду:
omf destroy
