Установка и настройка оболочки zsh.
Contents
Установка zsh.
Обновим пакеты и установим необходимое:
$ sudo apt update
$ sudo apt install zsh
$ sudo apt install powerline fonts-powerline
Powerline- это плагин строки состояния дляvim, который предоставляет строки состояния и подсказки для нескольких других приложений, включаяzsh,bash,tmux,IPython,AwesomeиQtile.
Установка Oh my zsh.
Клонируем репозиторий Oh my zsh и создаём новый конфиг-файл .zshrc:
$ git clone https://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
$ cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrcВ ~/.zshrc можно установить тему, добавить перемменные окружения или ещё что-то. Выбрать тему можно здесь, я использую эти 2 темы:
ZSH_THEME="steeef"
# либо
ZSH_THEME="ys"Установка подсветки синтаксиса Oh my zsh.
Клонируем репозиторий и добавляем syntax-highlighting в файл конфигурации ~/.zshrc:
$ echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> "$HOME/.zshrc"
$ echo "source $HOME/.zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> "$HOME/.zshrc"Установка плагина автодополнения для zsh.
Клонируем репозиторий zsh-autosuggestions.
$ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestionsВ файле ~/.zshrc меняем строку plugins=(git) на plugins=(git zsh-autosuggestions). После сохранения нужно перелогиниться или перечитать конфиг ~/.zshrc.
Установка командной оболочки по-умолчанию.
Сделать это можно с помощью утилиты chsh:
# сменить на zsh
$ chsh -s /bin/zsh
# сменить на bash
$ chsh -s /bin/bashУстановка fzf.zsh для более удобного поиска по Ctrl + r.
Клонируем репозиторий, устанавливаем и перечитываем файл конфигурации ~/.zshrc:
$ git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf
$ ~/.fzf/install
$ source ~/.zshrcМои текущие настройки в файле ~/.zshrc:
# myuser - Заменить на вашего пользователя
export ZSH="/home/myuser/.oh-my-zsh"
ZSH_THEME="ys"
plugins=(git zsh-autosuggestions zsh-syntax-highlighting)
source $ZSH/oh-my-zsh.sh
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
export PATH=$PATH:$HOME/.local/bin
eval $(~/.linuxbrew/bin/brew shellenv)
export GOROOT=/usr/local/go
export GOPATH=$HOME/go
export PATH=$GOPATH/bin:$GOROOT/bin:$PATH
autoload -U +X bashcompinit && bashcompinit
complete -o nospace -C /usr/bin/terraform terraform
export TF_VAR_do_token="There is Digital Ocean token for Terraform"
export TF_VAR_HC_TOKEN="There is Hetzner token for Terraform"
export HC_KEY="There is Hetzner token"
export VSCALE_KEY="There is Vscale token"
if [ -f '/home/myuser/yandex-cloud/path.bash.inc' ]; then source '/home/myuser/yandex-cloud/path.bash.inc'; fi
if [ -f '/home/myuser/yandex-cloud/completion.zsh.inc' ]; then source '/home/myuser/yandex-cloud/completion.zsh.inc'; fi
# настройки автодополнения в текущую сессию zsh
source <(kubectl completion zsh)
source <(doctl completion zsh)