sandzhaj.space

Меню
  • главная
  • cтатьи
  • книги
  • про автора
Меню

Быстрая установка oh-my-zsh с полезными плагинами

Опубликовано в 15.06.202215.06.2022 от sandzhaj

Переезжая с рабочего окружения на новое в какой-то момент я устал от постоянной настройки консоли, где-то торопишься и забываешь что-то установить, где-то забываешь «как оно работало». В идеальности, можно автоматизировать процесс использовав всякие утилиты типа «dotfiles» или Ansible. Но нет ничего надежнее простой и понятной инструкции в том числе и для тех, кто пробует настроить консоль для себя в первый раз.

В любом случае, для тех кто не хочет разбираться я предлагаю способ с ansible, все что нужно — чтобы он был у вас установлен. Установка одной командой:

sh -c "$(curl -fsSL https://raw.githubusercontent.com/sandzhaj/zsh_p10k/main/install.sh)"

Скрипт вам даже автоматически настроит нужные шрифты в приложениях Tilix, Gnome Terminal.
Более подробно про данный модуль можно почитать в readme.

Установка вручную

1. zsh + fzf

sudo apt install zsh fzf

Если с zsh всё понятно, то fzf — удобная утилита, которая сделает там крутой поиск по истории и удобный tab, когда плагины подключим

2. oh-my-sh

По сути это набор всяких плюшек и плагинов

sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"

Во время работы скрипта на вопрос Do you want to change your default shell to zsh? [Y/n] — отвечаем Y

3. zgen

Для того, чтобы плагины, которые не входят в oh-my-zsh, мы могли не вручную устанавливать, а делали это удобно — ставим менеджер плагинов. Его настройкой займемся чуть позже, пока просто ставим. В нашем примере это zgen.

git clone https://github.com/tarjoilija/zgen.git "${HOME}/.zgen"

4. Шрифты (если хотим красивую тему):

Качаем и ставим эти шрифты. MesloLGS NF Regular, MesloLGS NF Bold, MesloLGS NF Italic, MesloLGS NF Bold Italic. Потом в вашем терминале нужно будет выбрать его как шрифт для консольного текста. (MesloLGS NF Regular). Это позволит обеспечить правильное отображение темы без багов

5. Настройка ~/.zshrc

Предпоследний шаг — указать в нашем конфиге параметры для zgen менеджера вместе с плагинами, которые мы хотим видеть:

Где-нибудь вверху добавляем строчку

source "${HOME}/.zgen/zgen.zsh"

И чуть ниже

# if the init script doesn't exist
if ! zgen saved; then
  # Ваш список плагинов
  zgen oh-my-zsh 
  zgen oh-my-zsh plugins/git
  zgen oh-my-zsh plugins/sudo
  zgen oh-my-zsh plugins/docker
  zgen oh-my-zsh plugins/docker-compose
  zgen oh-my-zsh plugins/command-not-found
  zgen load romkatv/powerlevel10k powerlevel10k
  zgen load urbainvaes/fzf-marks
  zgen load Aloxaf/fzf-tab
  zgen load zsh-users/zsh-autosuggestions
  zgen load zsh-users/zsh-syntax-highlighting
  zgen load joshskidmore/zsh-fzf-history-search
  zgen load chr-fritz/docker-completion.zshplugin
  zgen save
fi

Можно спокойно сохранять файл, перезайти в консоль и вас встретит последний, 6 пункт.

Комментарии по плагинам из списка:

  • zgen oh-my-zsh — базовые модули и функции для работы oh-my-zsh плагинов. Их много ещё есть. Какие и что они делают можно у них и почитать
  • Всё что начинается с zgen oh-my-zsh plugins/ — это локальные плагины, которые мы скачали вместе с oh-my-zsh
  • Всё что начинается с zgen load — это плагины, которые будут скачаны с гитхаба, где Aloxaf — имя пользователя, а fzf-tab — его репа.
  • urbainvaes/fzf-marks Удобные закладки директорий в консоли. Зайдите в нужные вам директории, введите команду mark и директория будет добавлена в закладки. Вызвать список закладок можно сочетанием ctrl+g

    image

  • Aloxaf/fzf-tab Удобный таб. Например вам нужно ввести команду но вы помните из неё пару букв. Я начинаю писать s, нажимаю на tab,и дописываю буквы, даже если они в другой последовательности image
  • joshskidmore/zsh-fzf-history-search Удобный поиск по истории так же позволяет искать разные сочетания. Поиск по дефолтной комбинации ctrl + r image
  • zsh-users/zsh-autosuggestions Предлагает во время ввода команды автоматом из истории (стрелкой вправо допишет предлагаемое):image
  • romkatv/powerlevel10k powerlevel10k Тема командной строки
  • zsh-users/zsh-syntax-highlighting Подсветка синтаксиса в консоли
  • hr-fritz/docker-completion.zshplugin Обращается к докеру когда мы делаем tab. Например, пишем docker rmi, нажимаем на tab и можно выбрать образ который хотим удалить, вместо того чтобы вспоминать его имя или айдишник.

    Если потом хотите добавить другой плагин, нужно сделать сброс кэша, после правки \~/.zshrc — запустите команду zgen reset и перезайдите в консоль.

6. Настройка внешнего вида powerlevel10k

Просто перезайдите в консоль. Вас встретит мастер настройки powerlevel10k. Он будет визуально предлагать разные варианты внешнего вида отдельных компонентов, просто отвечайте на вопросы. Первые пару вопросов будут в стиле "правда, что этот символ похож на ромб?" Если вы ставили шрифты в пункте 4.1, то символ будет действительно выглядеть как ромб, отвечаем да. Если вы шрифты не ставили, можно ответить нет и использовать powerlevel10k без значков

p10k

  • zsh
  • терминал
  • Поиск

    Подпишись

    Теги

    bash git helm python zsh автоматизация нейросеть ооп терминал трекинг

    ©2025 sandzhaj.space