fish - относительно новая командная оболочка для Unix-подобных операционных систем. К её отличительным качествам можно отнести подсветку синтаксиса и продвинутое автодополнение.
Также в fish
изменён в сторону упрощения синтаксиса командного языка оболочки, в частности все управляющие конструкции единообразно завершаются ключевым словом end.
Ещё одним нововведением fish
являются так называемые универсальные переменные, вводимые с помощью конструкции вида set -U
переменная значение. Такие переменные разделяются между всеми экземплярами fish
на данном компьютере и позволяют производить обмен информацией между ними.
Установка fish shell
Добавляем репозиторий, обновляемся, и устанавливаем fish
.
Более подробную информацию можно прочитать тут.
sudo apt-add-repository ppa:fish-shell/release-3
sudo apt-get update
sudo apt-get install 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