Переход с bash на zsh

Instrukce pro instalaci

Než začneš, zjisti který shell právě používáš:

$ echo $SHELL

Instalace

Pro instalaci Zsh balíku, spusť:

# pacman -S zsh

Před nastavením Zsh jako impliticní shell se ujisti jestli byl nainstalován korektně jeho spuštěním např. v okně xtermu nebo tty:

$ zsh

Pokud instalace proběhla hladne, měl by jsi teď vidět neznámý prompt, zatím prostě napiš:

$ exit

Nastavení Zsh jako implicitní shell

Pro změnu uživatelského implicitního shellu bez rootovských oprávnění se používá příkaz chsh. Příkaz chsh lze použít pro změnu implicitního shellu bez rootovských oprvávnění jen pokud je shell uveden v souboru . Pokud jsi Zsh instaloval použitím pacmana, Zsh již by měl mít odpovídající záznam v .

Pro pokračování potřebuješ znát plnou cestu k Zsh, proto spusť:

$ which zsh

Změn implicitní shelll pro práve přihlášeného uživatele:

$ chsh -s /bin/zsh

Alternativní cesta ke změně shellu vede přes příkaz usermod. Nevýhodou této metody je potřeba mít k pc rootovský přístup. Více uživatelských účtů může být změněno rychle jako root, použitím příkazu usermod nebo chsh.

Změna implicitního shellu pro více uživatelů použitím příkazu usermod:

# usermod -s /bin/zsh uzivatel

Změna implicitního shellu pro více uživatelů použitím příkazu chsh:

# chsh -s /bin/zsh username

Note: Je třeba se odhlásit a přihlaásit zpět pokud chceš začít používat Zsh hned.

Po opětovném přihlášení si můžeš ověřit, zda je Zsh opravdu tvým implicitním shellem:

$ echo $SHELL

Настройки

Я их не правлю, но выписал с обьяснением чтобы было проще ориентироваться. Напоминаю что все они в . Если настройка закомментирована, то вы можете расскоментировать её удалив , то что указано в значении которое закомментировано — является противоположным значению по умолчанию.

  • — чуствительность к регистру. Как я указал в начале статьи, он сам может исправлять регистр если видит что в текущем ничего не найдено. Если это мешает, установив данный параметр в true, поведение будет привычное bash.
  • — включает автоматическую замену между «_» и «-«. Аналогично параметру выше, но касается только дефиса и подчеркивания.
  • — позволяет отключить автоматическое обновления Oh My Zsh.
  • — задает переодично проверки обновлений.
  • — позволяте отключить цветовую палитру при выводе команды .
  • — отключение автоматического заголовка терминала.
  • — включает корректировку команд. Например, вводя он выдаст запрос: .
  • — включает точки ожидания ввода аргументов. Например введя и нажав , он будет перебирать доступные команды (из-за одноименного плагина), а если ввести и нажать таб, у него нет вариантов автодополнения (они будут появляться по мере их успешнного ввода в терминале и кэшироваться) он будет отображать красные точки для обязательного ввода которые можно отменить только .
  • — отключает пометку неиспользуемых файлов в пределе Git репозитория как «гразных», что увеличивает скорость скана для git. Не могу сказать точнее что это и как это работает, но это напрямую связанно с git вообще, а не только плагином.
  • — позволяет менять формат даты для команды .
  • — позволяет добавить дополнительный путь до папки где будут храниться кастомные плагины и темы. По дефолту , она также будет функционаривать, т.е. параметр не перезатерающийся.

Это все настройки Oh My Zsh, ниже по файлу вы найдете различные переменные и примеры использования.

Zsh: быстрый старт

Еще до установки Oh My Zsh и плагинов можно оценить мощь Zsh.Попробуйте ввести следующую команду:

Она вставит в консоль предыдущую команду. Будет полезна, если забыли указать sudo для команды требующей root:

От предыдущей команды можно взять только аргумент.

Вставить в консоль последнюю команду, начинающуюся с указанных символов:

Конструкция похожа на предыдущую, но применима для известной части символов в середине или в конце команды:

Например, из моей истории команд, после нажатия на Tab, преобразуется в:

Опечатку в последней введенной команде можно исправить так:

А с помощью следующей команды удобно сделать бэкап файла.

Конструкция выше аналогична команде:

Следующая конструкция удалит ранее распакованные файлы. Будет полезна если вы распаковали архив tar.gz не в тот каталог.

Примеры выше, малая доля того, что умеет Zsh. Еще больше возможностей открывается при использовании фреймворка Oh My Zsh.

zsh-syntax-highlighting

Про этот плагин можно сказать не особо много: подсвечивает текущую введенную команду, раскрашивая на лету.

Главный плюс в том, что вы видите, что опечатались по красному цвету слова. Не скажу, что это must have, но удобнее становится.

В то же время у плагина есть сразу несколько косяков.

На системах, где , вызывает крах терминальной сессии, поэтому в плейбуке есть защита от активации плагина на таких системах. Случай редкий, я сделал это ради Debian Squeeze.

Плагин должен подключаться последним, а не то не знаю что будет и знать не хочу.

Конфликтует с zsh-autosuggestions, проявляется в вылетании сессии при попытке повторно применить конфиг .

Про это есть соответствующий и автор zsh-autosuggestions , что исправление уже в ветке, я не проверял, но если это так, после релиза должно все исправиться.

В плейбуке для этого есть фикс, так что конфликт устранен.

Povolení Unicode (zastaralé)

Note: Unicode je v oficiálním balíku Arch Linuxu standardně povoleno.

The latest versions of Zsh support unicode characters. To enable it, just rebuild the package with the Arch Build System.
Poslední verze Zsh podporují unicode znaky. Pro jejich povolení znovu sestvat balík s pomocí Arch Build System.

A přidej volbu —enable-multibyte do:

PKGBUILD
build() {
cd $startdir/src/$pkgname-$pkgver
./configure --prefix=/usr --bindir=/bin \
--enable-etcdir=/etc/zsh \
--enable-zshenv=/etc/zsh/zshenv \
--enable-zlogin=/etc/zsh/zlogin \
--enable-zlogout=/etc/zsh/zlogout \
--enable-zprofile=/etc/profile \
--enable-zshrc=/etc/zsh/zshrc \
--enable-maildir-support \
--with-curses-terminfo \
--enable-zsh-secure-free \
--enable-multibyte

Знакомьтесь, iTerm2

Для начала, замените стандартный терминал на что-нибудь получше. Пользователям MacOS рекомендую . Для пользователе прочих Unix систем существуют другие решения, например .

Список функций iTerm2 представлен на , среди них: автодополнение, поиск с подсветкой в консоли, сплит панели, копирование без использования мыши, переключение в терминал с помощью горячей клавиши, менеджер паролей и другие.

Чтобы установить iTerm2 вручную: с официального сайта, распакуйте скачанный архив и переместите приложение в папку с программами.

Или, если используете Homebrew, установить iTerm2 можно одной командой:

Самый популярный шорткат — быстрое отображение или скрытие iTerm2. Можно сделать чтобы консоль выезжала сверху, как в Quake.

Но фича не работает из коробки, поэтому потребуется выполнить некоторые действия: перейдите в настройки (iTerm2 — Preferences), далее Profiles — Keys — Configure Hotkey Window, хоткей можно указать любой, остальные настройки как на скриншоте ниже.

Далее (там же в Profiles) перейдите в Window, и установите настройки как на скриншоте (или измените по своему усмотрению). За стиль окна отвечает настройка Style.

Можно двигаться дальше.

Odinstalace

Pro případ že se rozhodneš, že Zsh není shell pro tebe a budeš se chtít vrátit Bashi. Nejprve musíš změnit tvůj implicitní shell na Bash.

Následuj, pro změnu shellu zpět na Bash, jen nahraď Zsh Bashem.

Nyní můžeš bezpečně odstranit balík Zsh.

Warning: Pokud nedodržíš předchozí instrukce, může se vyrojit spousta problémů.

Pokud jsi nenásledoval instrukce viz výše, stále ještě můžeš změnt implicitní shell zpět na Bash pomocí editace /etc/passwd jako root. Ukázka:

z:

uzivatel:x:1000:1000:Full Name,,,:/home/username:/bin/zsh

na:

uzivatel:x:1000:1000:Full Name,,,:/home/username:/bin/bash

Файлы Запуска/Завершения

Примечание:

  • Если не определена, используется по умолчанию.
  • Если опция не установлена ни в одном из файлов, файлы конфигурации не будут получены после этого файла.
  • Если опция не задана ни в одном из файлов, после этого файла не будут найдены глобальные конфигурационные файлы ().

При запуске Zsh по умолчанию он будет загружать следующие файлы в этом порядке:

Используется для установки общесистемных переменных environment variables (Русский); Он не должен содержать команд, которые производят вывод, или предполагает, что shell подключен к tty. Этот файл всегда будет источником, это нельзя переопределить.
Используется для установки переменных среды пользователя; Он не должен содержать команд, которые производят вывод, или предполагает, что shell подключен к tty. Этот файл всегда будет источником.
Используется для выполнения пользовательских команд при запуске, будет вызван при запуске как login shell.
Используется для настройки интерактивной конфигурации оболочки и выполнения команд, будет вызван при запуске как interactive shell.
Используется для настройки интерактивной конфигурации пользователя и выполнения команд, будет вызван при запуске как interactive shell.
Используется для выполнения команд при завершении прогресса инициализации, будет вызван при запуске как login shell.
Используется для выполнения пользовательских команд при завершении начального прогресса, будет вызван при запуске как login shell.
Будет получен, когда login shell завершится.
Будет получен, когда login shell завершится.

Примечание:

не является частью обычного списка запускаемых файлов Zsh, но поступает из в пакете

Пользователи должны принять во внимание, что устанавливает переменную которая перезапишет любую переменную установленную в. Чтобы это предотвратить, установите переменную в .

Установка тем оформления

Я покажу как включать темы на примере оформления agnoster, так как оно больше всего мне по душе и иногда также требует дополнительных действий для корректной работы.

Для включеня данной темы нам опять, достаточно открыть файли найти строку и заменить стандартную тему на нужную, в моем случае , итого получается . Не забываем про . И всё уже работает!

Если у вас вместо иконок Git или нету «уголков» в строке навигации, то вам нужно поставить спец. шрифты с данными иконками. Множество тем требует установки данных шрифтов, они никак не помешают, но будет работать как нужно. Если всё как и на скринах — ставить не нужно, если же нет, то ниже инструкция для вас.

Давайте установим пропатченные шрифты:

Этого уже будет достаточно, можно работать. Но некоторые моменты я ещё затрону.

Мигрируй на Zsh

Zsh она же — одна из современных командных оболочек Unix. Мало кто знаком и использует все ее функции. Однако это и не требуется — фреймворк Oh My Zsh, который мы установим далее, позволит настраивать ее и кастомизировать с помощью тем и плагинов.

У пользователей MacOS, скорее всего, Zsh уже установлена, если нет — установите с помощью менеджера пакетов Homebrew, а затем сделайте zsh оболочкой по умолчанию.

Установка zsh в Ubuntu и Debian.

Пользователи прочих Unix систем наверняка справятся с .

Убедиться, что zsh является оболочкой по умолчанию можно следующей командой.

Результат /bin/zsh означает, что все сделано верно.

Далее необходимо перелогиниться. Когда вновь откроете терминал, возможно увидите приветственное сообщение zsh. Ничего не меняйте и выйдите, выбрав q.

Startup/Shutdown files

Tip:

  • You could consider for your Zsh configuration files.

Note:

  • If is not set, is used instead.
  • If option is unset in any of the files, no configuration files will be read after that file.
  • If option is unset in any of the files, no global configuration files () will be read after that file.

When starting, Zsh will read commands from the following files in this order by default, provided they exist.

  • Used for setting environment variables for all users; it should not contain commands that produce output or assume the shell is attached to a TTY. When this file exists it will always be read, this cannot be overridden.
  • Used for setting user’s environment variables; it should not contain commands that produce output or assume the shell is attached to a TTY. When this file exists it will always be read.
  • Used for executing user’s commands at start, will be read when starting as a login shell. Typically used to autostart graphical sessions and to set session-wide environment variables.
  • Used for setting interactive shell configuration and executing commands for all users, will be read when starting as an interactive shell.
  • Used for setting user’s interactive shell configuration and executing commands, will be read when starting as an interactive shell.
  • Used for executing commands for all users at ending of initial progress, will be read when starting as a login shell.
  • Used for executing user’s commands at ending of initial progress, will be read when starting as a login shell. Typically used to autostart command line utilities. Should not be used to autostart graphical sessions, as at this point the session might contain configuration meant only for an interactive shell.
  • Used for executing commands when a login shell exits.
  • Used for executing commands for all users when a login shell exits.

Note:

  • is not a part of the Zsh startup files and is not sourced by Zsh unless Zsh is invoked as or and started as a login shell. For more details about the sh and ksh compatibility modes refer to .

Oh My Zsh в действии

Одно из неудобств консоли — перемещение по папкам. Oh My Zsh расширяет возможности автодополнения по кнопке Tab.

Например, Oh My Zsh исправляет регистр букв. Можно написать:

Затем нажать Tab и команда преобразуется в:

Если с введенных символов начинаются имена нескольких каталогов, по нажатию на Tab будет выведен список уточнений, а при повторном нажатии Tab, стрелками (или последующими нажатиями Tab) можно будет выбрать нужный каталог.

Автодополнение работает для любой части файлов и каталогов. Чтобы перейти в каталог ~/Downloads, можно написать:

По нажатию Tab, строка будет преобразована.

Oh My Zsh умеет дополнять имена каталогов по всему пути, а не только по последней его части, например:

По нажатию Tab, строка будет преобразована.

А если добавить в файл конфигурации ~/.zshrc часто используемые каталоги в переменную CDPATH, то не нужно будет печатать даже первые буквы имен каталогов.

вот так

Шпаргалки

Чтобы попробовать все шапргалки и алиасы, подключите источник из домашней директории (если проект склонирован туда):

source ~/.oh-my-zsh/templates/zshrc.zsh-template

Команды

Команда Описание
tabs Создать новую вкладку в текущей директории.
take Создать новую папку и сразу перейти в неё.
x / extract Распаковать архив (поддерживаемые форматы: tar.{bz2,gz,xz,lzma}, bz2, rar, gz, tar, tbz2, tgz, zip, Z, 7z).
zsh_stats Получить список из 20 популярных команд, которые вы вводили.
uninstall_oh_my_zsh Удалить Oh-my-zsh.
upgrade_oh_my_zsh Обновить Oh-my-zsh.
source ~/.zshrc Поглотить новые изменения.

Алиасы

Алиас Команда
alias Получить список всех алиасов
.. cd ..
cd ../..
…. cd ../../..
….. cd ../../../..
cd /
~ cd ~
cd +n переключиться на директорию №
1 cd —
2 cd -2
3 cd -3
4 cd -4
5 cd -5
6 cd -6
7 cd -7
8 cd -8
9 cd -9
md mkdir -p
rd rmdir
d dirs -v (список последних используемых директорий)

Алиасы Git

Алиас Команда
g git
ga git add
gau git add -u
gaa git add —all
gapa git add —patch
gb git branch
gba git branch -a
gbd git branch -d
gbl git blame -b -w
gbnm git branch —no-merged
gbr git branch —remote
gbs git bisect
gbsb git bisect bad
gbsg git bisect good
gbsr git bisect reset
gbss git bisect start
gc git commit -v
gc! git commit -v —amend
gca git commit -v -a
gca! git commit -v -a —amend
gcan! git commit -v -a —no-edit —amend
gcans! git commit -v -a -s —no-edit —amend
gcam git commit -a -m
gcsm git commit -s -m
gcb git checkout -b
gcf git config —list
gcl git clone —recursive
gclean git clean -fd
gpristine git reset —hard && git clean -dfx
gcm git checkout master
gcd git checkout develop
gcmsg git commit -m
gco git checkout
gcount git shortlog -sn
gcp git cherry-pick
gcpa git cherry-pick —abort
gcpc git cherry-pick —continue
gcs git commit -S
gd git diff
gdca git diff —cached
gdct git describe —tags `git rev-list —tags —max-count=1`
gdt git diff-tree —no-commit-id —name-only -r
gdw git diff —word-diff
gf git fetch
gfa git fetch —all —prune
gfo git fetch origin
gg git gui citool
gga git gui citool —amend
ggpnp git pull origin $(current_branch) && git push origin $(current_branch)
ggpull git pull origin $(current_branch)
ggl git pull origin $(current_branch)
ggpur git pull —rebase origin $(current_branch)
glum git pull upstream master
ggpush git push origin $(current_branch)
ggp git push origin $(current_branch)
ggfl git push —force-with-lease origin <your_argument>/$(current_branch)
ggsup git branch —set-upstream-to=origin/$(current_branch)
gpsup git push —set-upstream origin $(current_branch)
gignore git update-index —assume-unchanged
gignored git ls-files -v | grep «^:lower:«
git-svn-dcommit-push git svn dcommit && git push github master:svntrunk
gk gitk —all —branches
gl git pull
glg git log —stat —max-count = 10
glgg git log —graph —max-count = 10
glgga git log —graph —decorate —all
glo git log —oneline —decorate —color
glog git log —oneline —decorate —color —graph
glp _git_log_prettily (git log —pretty=$1)
gm git merge
gma git merge —abort
gmt git mergetool —no-prompt
gp git push
gpoat git push origin —all && git push origin —tags
gr git remote
grb git rebase
grba git rebase —abort
grbc git rebase —continue
grbd git rebase develop
grbm git rebase master
grbs git rebase —skip
grbi git rebase -i
grh git reset HEAD
grhh git reset HEAD —hard
grmv git remote rename
grrm git remote remove
grset git remote set-url
grt cd $(git rev-parse —show-toplevel || echo «.»)
grup git remote update
grv git remote -v
gsd git svn dcommit
gsps git show —pretty = short —show-signature
gsr git svn rebase
gss git status -s
gst git status
gsta git stash save
gstaa git stash apply
gstd git stash drop
gstl git stash list
gstp git stash pop
gsts git stash show —text
gsu git submodule update
gts git tag -s
gunignore git update-index —no-assume-unchanged
gunwip git log -n 1 | grep -q -c «—wip—» && git reset HEAD~1
gup git pull —rebase
gvt git verify-tag
gwch git whatchanged -p —abbrev-commit —pretty = medium
gwip git add -A; git ls-files —deleted -z | xargs -r0 git rm; git commit -m «—wip—«

Редакторы

Алиас Команда
stt Открыть текущую директорию в редакторе Sublime Text 2/3(при использовании плагина )
v Редактировать текущую строку кода в редакторе Vim (при использовании плагина )

zsh-autosuggestions

Открытие этого плагина для меня сравнимо с открытием percol: скорость набора команд увеличилась.
Часто бывает нужно набрать команду с теми же параметрами, что и в прошлый раз, или немного с другими параметрами. Плагин выручает в обоих случаях.

Работает это так: при вводе команды плагин читает историю и дописывает серым последнюю команду из истории, начинающуюся так же.

Если нажать Enter, выполнится ваша команда, а не из автодополнения (это хорошо, случайно вызвать не ту команду будет сложно, хотя у некоторых автодополнений бывают такие проблемы). Чтобы подставить дополненную команду, нужно нажать кнопку, забинденную на действие , по умолчанию это →.

Но до стрелочки вправо постоянно тянуться неудобно, поэтому я сначала забиндил автодополнение на (обратную кавычку, которая слева от единицы). Это было очень удобно: прямо рядом с и работает похоже на . Но позже выяснилось, что это ломает работу Midnight Commander: на одних системах он перестал переключать путь во внутреннем шелле (что полезно: через mc переходим в нужную папку, нажимаем , вводим команду, выходим из внутреннего шелла, или наоборот бывает удобнее перейти в папку через шелл, а потом произвести действия в mc), на других системах mc вообще зависал через пару переходов по папкам. Я погуглил проблему, в трекере mc есть такой глюк, в последней версии зависания убрались, но путь так и не стал меняться, поэтому я стал пробовать другие хоткеи: , , все они так или иначе глючили.

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

Еще в ansible-role-zsh работа плагина ограничена 15 символами, то есть через 15 символов он перестает предлагать команды.

Это сделано для того, чтобы убрать задержки при копипасте команд в терминал (при вводе самостоятельно я задержек не ощущаю, но при вставке из буфера больших команд это заметно, похоже на то, как будто вставка не сработала).

Advanced Topics

If you’re the type that likes to get their hands dirty, these sections might resonate.

Advanced Installation

Some users may want to change the default path, or manually install Oh My Zsh.

Custom Directory

The default location is (hidden in your home directory)

If you’d like to change the install directory with the environment variable, either by running before installing, or by setting it before the end of the install pipeline like this:

export ZSH="$HOME/.dotfiles/oh-my-zsh"; sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
2. Optionally, backup your existing file:
3. Create a new zsh configuration file

You can create a new zsh config file by copying the template that we have included for you.

cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc
5. Initialize your new zsh configuration

Once you open up a new terminal window, it should load zsh with Oh My Zsh’s configuration.

Installation Problems

If you have any hiccups installing, here are a few common fixes.

  • You might need to modify your in if you’re not able to find some commands after switching to .
  • If you installed manually or changed the install location, check the environment variable in .

Custom Plugins and Themes

If you want to override any of the default behaviors, just add a new file (ending in ) in the directory.

If you have many functions that go well together, you can put them as a file in the directory and then enable this plugin.

If you would like to override the functionality of a plugin distributed with Oh My Zsh, create a plugin of the same name in the directory and it will be loaded instead of the one in .

Установка плагинов

Начнем с установки нужных нам плагинов. Из коробки там стоит только git, больше никакие плагины не активированы. Список всех додступных плагинов поставляемых с фреймворком можно посмотреть на странице wiki, с описанием для чего они используются.

Например я хочу поставить себе следующие плагины:

  • npm — добавлят поддержку автодополнения к команде npm
  • vagrant — так как я часто пользуюсь vagrant из-за Drupal VM, то мне он тоже не помешает. Также как и npm добавляет поддержку автодополнения. Там же есть и docker.
  • composer — в 8-ке очень активно использую composer, а данный плагин опять же, добавляет автодополнение, и помимо этого различные полезные синонимы команд. Например = .
  • sudo — частенько бывает и такое, что вбиваешь или копируешь команду из интернета, но для неё требуются права супер-пользователя. Постоянно переводить курсор и дописывать муторно, а данный плагин позволяет просто нажать два раза , и он сам добавит sudo в начало команды.
  • web-search — а иногда случается ситуация, что роешься в консоли и забыл какую-то команду, нужно гуглануть, и чтобы не переключаться на браузер, не кликать на строку поиска, данный плагин позволяет написать , и в браузере по умолчанию сразу откроются результаты.

Там куча других плагинов, можно писать свои, выбирайте на свой вкус и под свои задачи, я продолжу гайд как поставить указаныне выше плагины (остальные ставятся абсолютно также).

Для того чтобы включить данные плагины (они уже есть в комплекте), достаточно отредактировать файл . Для этого, в ubuntu, достаточно написать или , что вам удобнее. Открываем данный файл на редактирование и ищем строку и добавляем туда все нужные нам плагины, учитывая список выше, вышло следующее: . После изменения данного файла, всегда необходимо прописывать , иначе изменения вступят в силу только после перезагрузки.

После этого можете тестировать работу.

Installation

Before starting, users may want to see what shell is currently being used:

$ echo $SHELL

Install the package. For additional completion definitions, install the package as well.

Initial configuration

Make sure that Zsh has been installed correctly by running the following in a terminal:

$ zsh

You should now see zsh-newuser-install, which will walk you through some basic configuration. If you want to skip this, press . If you did not see it, you can invoke it manually with:

$ autoload -Uz zsh-newuser-install
$ zsh-newuser-install -f

Note: Make sure your terminal’s size is at least 72×15 otherwise zsh-newuser-install will not run.

Making Zsh your default shell

Change your shell to . See .

Tip: If replacing , users may want to move some code from to (e.g. the prompt and the ) and from to (e.g. ).

Using Oh My Zsh

Plugins

Oh My Zsh comes with a shit load of plugins to take advantage of. You can take a look in the plugins directory and/or the wiki to see what’s currently available.

Enabling Plugins

Once you spot a plugin (or several) that you’d like to use with Oh My Zsh, you’ll need to enable them in the file. You’ll find the zshrc file in your directory. Open it with your favorite text editor and you’ll see a spot to list all the plugins you want to load.

For example, this line might begin to look like this:

plugins=(git bundler osx rake ruby)

Using Plugins

Most plugins (should! we’re working on this) include a README, which documents how to use them.

Themes

We’ll admit it. Early in the Oh My Zsh world, we may have gotten a bit too theme happy. We have over one hundred themes now bundled. Most of them have screenshots on the wiki. Check them out!

Selecting a Theme

Robby’s theme is the default one. It’s not the fanciest one. It’s not the simplest one. It’s just the right one (for him).

Once you find a theme that you want to use, you will need to edit the file. You’ll see an environment variable (all caps) in there that looks like:

ZSH_THEME="robbyrussell"

To use a different theme, simply change the value to match the name of your desired theme. For example:

ZSH_THEME="agnoster" # (this is one of the fancy ones)
# you might need to install a special Powerline font on your console's host for this to work
# see https://github.com/robbyrussell/oh-my-zsh/wiki/Themes#agnoster

Open up a new terminal window and your prompt should look something like this:

In case you did not find a suitable theme for your needs, please have a look at the wiki for more of them.

If you’re feeling feisty, you can let the computer select one randomly for you each time you open a new terminal window.

ZSH_THEME="random" # (...please let it be pie... please be some pie..)
Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector