Обложка к записи Oh My ZSH в Ubuntu
Время для прочтения: 6 мин. 2 сек.

Oh My ZSH в Ubuntu

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

Установка zsh

sudo apt install zsh

Если у вас не установлен пакетный менеджер apt, можете вместо него указать apt-get или aptitude.

Установка Oh My ZSH!

Через wget

sh -c "$(wget -O- https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Через curl

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

Установка шрифтов

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

# Клонируем репозиторий.
git clone https://github.com/powerline/fonts.git
# Идём в папку шрифтов и запускаем инсталлятор.
cd fonts
./install.sh
# Выходим из папки и удаляём её.
cd ..
rm -rf fonts

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

Полный список тем с их описанием и скриншотами смотрите в репозитории. Для включения выбранной темы достаточно в файле ~/.zshrc указать её название:

ZSH_THEME="robbyrussell"

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

Полный список плагинов с их описанием смотрите в репозитории. Для их включения достаточно в файле ~/.zshrc указать массив необходимых плагинов (разделитель — пробел):

plugins=(
  git
  bundler
  dotenv
  osx
  rake
  rbenv
  ruby
)

Шпаргалки

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

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переключиться на директорию № n
1cd —
2cd -2
3cd -3
4cd -4
5cd -5
6cd -6
7cd -7
8cd -8
9cd -9
mdmkdir -p
rdrmdir
ddirs -v (список последних используемых директорий)

Алиасы Git

АлиасКоманда
ggit
gagit add
gaugit add -u
gaagit add —all
gapagit add —patch
gbgit branch
gbagit branch -a
gbdgit branch -d
gblgit blame -b -w
gbnmgit branch —no-merged
gbrgit branch —remote
gbsgit bisect
gbsbgit bisect bad
gbsggit bisect good
gbsrgit bisect reset
gbssgit bisect start
gcgit commit -v
gc!git commit -v —amend
gcagit 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
gcamgit commit -a -m
gcsmgit commit -s -m
gcbgit checkout -b
gcfgit config —list
gclgit clone —recursive
gcleangit clean -fd
gpristinegit reset —hard && git clean -dfx
gcmgit checkout master
gcdgit checkout develop
gcmsggit commit -m
gcogit checkout
gcountgit shortlog -sn
gcpgit cherry-pick
gcpagit cherry-pick —abort
gcpcgit cherry-pick —continue
gcsgit commit -S
gdgit diff
gdcagit diff —cached
gdctgit describe —tags `git rev-list —tags —max-count=1`
gdtgit diff-tree —no-commit-id —name-only -r
gdwgit diff —word-diff
gfgit fetch
gfagit fetch —all —prune
gfogit fetch origin
gggit gui citool
ggagit gui citool —amend
ggpnpgit pull origin $(current_branch) && git push origin $(current_branch)
ggpullgit pull origin $(current_branch)
gglgit pull origin $(current_branch)
ggpurgit pull —rebase origin $(current_branch)
glumgit pull upstream master
ggpushgit push origin $(current_branch)
ggpgit push origin $(current_branch)
ggflgit push —force-with-lease origin <your_argument>/$(current_branch)
ggsupgit branch —set-upstream-to=origin/$(current_branch)
gpsupgit push —set-upstream origin $(current_branch)
gignoregit update-index —assume-unchanged
gignoredgit ls-files -v | grep «^:lower:«
git-svn-dcommit-pushgit svn dcommit && git push github master:svntrunk
gkgitk —all —branches
glgit pull
glggit log —stat —max-count = 10
glgggit log —graph —max-count = 10
glggagit log —graph —decorate —all
glogit log —oneline —decorate —color
gloggit log —oneline —decorate —color —graph
glp_git_log_prettily (git log —pretty=$1)
gmgit merge
gmagit merge —abort
gmtgit mergetool —no-prompt
gpgit push
gpoatgit push origin —all && git push origin —tags
grgit remote
grbgit rebase
grbagit rebase —abort
grbcgit rebase —continue
grbdgit rebase develop
grbmgit rebase master
grbsgit rebase —skip
grbigit rebase -i
grhgit reset HEAD
grhhgit reset HEAD —hard
grmvgit remote rename
grrmgit remote remove
grsetgit remote set-url
grtcd $(git rev-parse —show-toplevel || echo «.»)
grupgit remote update
grvgit remote -v
gsdgit svn dcommit
gspsgit show —pretty = short —show-signature
gsrgit svn rebase
gssgit status -s
gstgit status
gstagit stash save
gstaagit stash apply
gstdgit stash drop
gstlgit stash list
gstpgit stash pop
gstsgit stash show —text
gsugit submodule update
gtsgit tag -s
gunignoregit update-index —no-assume-unchanged
gunwipgit log -n 1 | grep -q -c «—wip—» && git reset HEAD~1
gupgit pull —rebase
gvtgit verify-tag
gwchgit whatchanged -p —abbrev-commit —pretty = medium
gwipgit add -A; git ls-files —deleted -z | xargs -r0 git rm; git commit -m «—wip—«

Редакторы

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

Комментарии