====== Установка Zsh и Oh My Zsh! ====== ===== Установка Zsh ===== sudo apt install zsh ===== Установка Oh My Zsh ===== Выбираем удобный вариант, в зависимости от установленного в системе ПО: # Curl sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)" # Wget sh -c "$(wget https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh -O -)" ===== Установка Zsh оболочкой по умолчанию ===== Достаточно выполнить команду для текущего пользователя: chsh -s $(which zsh) ===== Настройка темы оформления ===== Для включения популярной темы agnoster нужно открыть файл ~/.zshrc, найти строку ZSH_THEME="robbyrussell" и заменить стандартную тему на нужную, в моем случае agnoster, итого получается ZSH_THEME="agnoster". Не забываем про source ~/.zshrc **Примечание**: если при смене темы получаем уведомление "zsh | (anon):12: character not in range" - это значит что в системе нет поддержки локали en_US.UTF-8 Лечится довольно просто, но зависит от текущей установленной системы. 1-й способ (debian container): * Добавляем в /etc/locale.gen строку 'en_US.UTF-8 UTF-8' * Запускаем locale-gen 2-й способ (если в системе вообще нет пакета): * Ставим пакет и обновляем локали: apt-get install -y language-pack-en && update-locale Если хочется чего-то иного, можно найти много тем на любой вкус: * Официальные: https://github.com/ohmyzsh/ohmyzsh/wiki/Themes * Дополнительные: https://github.com/ohmyzsh/ohmyzsh/wiki/External-themes На вкус и цвет все разные, но самые удобные на мой взгляд это agnoster, powerlevel10k Установка powerlevel10k: git clone https://github.com/romkatv/powerlevel10k.git $ZSH_CUSTOM/themes/powerlevel10k Изменить тему: ZSH_THEME="powerlevel10k/powerlevel10k" Конфигурация: p10k configure ===== Установка шрифтов ===== Если нет иконок Git или нету "уголков" в строке навигации, то вам нужно поставить дополнительные шрифты. Большинство тем требует установки данных шрифтов, они никак не помешают, но будет работать как нужно. Если всё хорошо и косяков нет - ставить не нужно. Примечание: Если вы работаете в Windows, шрифты так же необходимо поставить. sudo apt install fonts-powerline или git clone https://github.com/powerline/fonts.git cd fonts ./install.sh cd .. rm -rf fonts ===== Устанавливаем цветовую палитру для терминала ===== Мне нравится solarized: git clone git://github.com/sigurdga/gnome-terminal-colors-solarized.git ~/.solarized cd ~/.solarized ./install.sh Выбираем пункт 1 (dark theme). Затем выбираем 1 для загрузки dircolors-solarized. После установки редактируем .zshrc и добавляем строку: eval `dircolors ~/.dir_colors/dircolors` ===== Полезные плагины ===== Основной сайт с плагинами: https://github.com/ohmyzsh/ohmyzsh/wiki/Plugins И еще много всего тут: https://github.com/unixorn/awesome-zsh-plugins Как может выглядеть секция с подключенными плагинами: plugins=( git colored-man-pages docker ansible zsh-autosuggestions kubectl ) ==== kubectl ==== Источник: https://kubernetes.io/docs/tasks/tools/install-kubectl/#enabling-shell-autocompletion Добавляем строку в файл .zshrc: source <(kubectl completion zsh) Если нужен алиас для команды kubectl, добавляем: echo 'alias k=kubectl' >>~/.zshrc echo 'complete -F __start_kubectl k' >>~/.zshrc ==== zsh-autosuggestions ==== Работает с историей zsh, очень полезно если периодически набираем длинные команды. Сайт: https://github.com/zsh-users/zsh-autosuggestions Установка: * Клонируем репозиторий в $ZSH_CUSTOM/plugins (по умолчанию ~/.oh-my-zsh/custom/plugins): git clone https://github.com/zsh-users/zsh-autosuggestions ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-autosuggestions * Добавляем в файл конфигурации ~/.zshrc: plugins=(zsh-autosuggestions) и перезапускаем сессию ==== fast-syntax-highlighting ==== Раскрашивает синтаксис Сайт: https://github.com/zdharma-continuum/fast-syntax-highlighting Установка: * Клонируем репозиторий git clone https://github.com/zdharma-continuum/fast-syntax-highlighting.git \ ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/plugins/fast-syntax-highlighting * Добавляем в файл конфигурации ~/.zshrc: plugins=(fast-syntax-highlighting) и перезапускаем сессию ==== fzf-tab ==== Нечеткий поиск по всему: от истории до каталогов и ключей командной строки для утилит. Сайт: https://github.com/Aloxaf/fzf-tab Примечания к установке: * Должен быть обязательно установлен оригинальный fzf * С списке плагинов fzf-tab должен быть ДО zsh-autosuggestions или fast-syntax-highlighting Установка: * Клонируем репозиторий git clone https://github.com/Aloxaf/fzf-tab ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/fzf-tab * Добавляем в файл конфигурации ~/.zshrc: plugins=(fzf-tab) и перезапускаем сессию Использование: как обычно нажимаем Tab при вводе команд и аргументов ==== fzf ==== Еще один вариант расширенного поиска по истории, не стоит использовать совместно с fzf-tab Сайт: https://github.com/junegunn/fzf Установка: * Клонируем репозиторий git clone --depth 1 https://github.com/junegunn/fzf.git ~/.fzf; ~/.fzf/install * Отвечаем на вопросы ===== Настройки Zsh ===== Все настройки хранятся в файле ~/.zshrc ===== Удаляем Zsh и Oh My Zsh ===== uninstall_oh_my_zsh sudo apt uninstall zsh {{tag>zsh oh my zsh}}