more pretty md files

This commit is contained in:
2016-02-02 00:55:13 +07:00
parent c0ad1a6912
commit 518956bdff
39 changed files with 1550 additions and 484 deletions

View File

@ -7,7 +7,11 @@ tags: zshrc, настройка, linux
title: О zshrc
short: about-zshrc
---
Это моя первая статья в блоге (я думаю, мне нужно что-нибудь для тестов =)). Существует множество похожих статей и, я думаю, не буду отличаться от большинства. Я просто хочу показать мой `.zshrc` и объяснить, что в нем есть и зачем оно нужно. Также, любые комментарии или дополнения приветствуются. [Оригинал](//archlinux.org.ru/forum/topic/12752/ "Тема на форуме") статьи.
Это моя первая статья в блоге (я думаю, мне нужно что-нибудь для тестов =)).
Существует множество похожих статей и, я думаю, не буду отличаться от большинства.
Я просто хочу показать мой `.zshrc` и объяснить, что в нем есть и зачем оно нужно.
Также, любые комментарии или дополнения приветствуются. [Оригинал]
(//archlinux.org.ru/forum/topic/12752/ "Тема на форуме") статьи.
<!--more-->
@ -19,13 +23,17 @@ short: about-zshrc
pacman -Sy pkgfile zsh zsh-completions zsh-syntax-highlighting
```
[pkgfile](//www.archlinux.org/packages/pkgfile/ "Пакет Archlinux") очень полезная утилита. Данная команда также установит шелл, дополнения к нему и подсветку синтаксиса.
[pkgfile](//www.archlinux.org/packages/pkgfile/ "Пакет Archlinux") очень полезная
утилита. Данная команда также установит шелл, дополнения к нему и подсветку
синтаксиса.
## <a href="#configuration" class="anchor" id="configuration"><span class="octicon octicon-link"></span></a>Настройка шелла
Все доступные опции приведены [здесь](//zsh.sourceforge.net/Doc/Release/Options.html "Документация zsh").
Все доступные опции приведены [здесь](//zsh.sourceforge.net/Doc/Release/Options.html
"Документация zsh").
Указываем файл с историей, число команд хранящихся в кэше текущего сеанса и число команд, хранящихся в файле:
Указываем файл с историей, число команд хранящихся в кэше текущего сеанса и
число команд, хранящихся в файле:
```bash
# history
@ -34,7 +42,8 @@ HISTSIZE=500000
SAVEHIST=500000
```
Я не могу запомнить все комбинации `Ctrl+`, поэтому я назначаю клавиши на их стандартное использование:
Я не могу запомнить все комбинации `Ctrl+`, поэтому я назначаю клавиши на их
стандартное использование:
```bash
# bindkeys
@ -48,7 +57,9 @@ bindkey '\e[5~' up-line-or-history # page-up
bindkey '\e[6~' down-line-or-history # page-down
```
Но здесь важно, что стрелки `вверх`/`вниз` служат для навигации по истории с учетом **уже введенной части** команды. А `PgUp`/`PgDown` **проигнорируют** уже введенную часть команды.
Но здесь важно, что стрелки `вверх`/`вниз` служат для навигации по истории с
учетом **уже введенной части** команды. А `PgUp`/`PgDown` **проигнорируют** уже
введенную часть команды.
Автодополнение команд:
@ -60,7 +71,9 @@ zstyle ':completion:*' insert-tab false
zstyle ':completion:*' max-errors 2
```
Подключается полное автодополнение команд. `insert-tab false` включит автодополнение для **невведенной** команды (не знаю, зачем). `max-errors` устанавливает максимальное число опечаток, которые могут быть исправлены.
Подключается полное автодополнение команд. `insert-tab false` включит
автодополнение для **невведенной** команды (не знаю, зачем). `max-errors`
устанавливает максимальное число опечаток, которые могут быть исправлены.
Приглашение:
@ -192,7 +205,10 @@ ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=yellow' # конс
#ZSH_HIGHLIGHT_STYLES[root]='bg=red'
```
В первой строке включаем подсветку. Затем включаем основную подсветку, а также подсветку скобок и шаблонов. Шаблоны указываются ниже (`rm -rf *` в примере). Также может быть включена подсветка команд от `root` и курсора `cursor`. Синтаксис настроек понятен, `fg` цвет шрифта, `bg` цвет фона.
В первой строке включаем подсветку. Затем включаем основную подсветку, а также
подсветку скобок и шаблонов. Шаблоны указываются ниже (`rm -rf *` в примере).
Также может быть включена подсветка команд от `root` и курсора `cursor`.
Синтаксис настроек понятен, `fg` цвет шрифта, `bg` цвет фона.
## <a href="#prompt" class="anchor" id="prompt"><span class="octicon octicon-link"></span></a>$PROMPT и $RPROMPT
@ -219,7 +235,9 @@ else
fi
```
`fg` цвет шрифта, `bg` цвет фона. `_bold` и `_no_bold` регулируют оттенок. Команды должны быть обрамлены в `%{ ... %}`, чтобы не показывались. Доступные цвета:
`fg` цвет шрифта, `bg` цвет фона. `_bold` и `_no_bold` регулируют оттенок.
Команды должны быть обрамлены в `%{ ... %}`, чтобы не показывались. Доступные
цвета:
```bash
black
@ -276,11 +294,15 @@ $returncode\
"%{$fg_bold[white]%}]%{$reset_color%}"
```
Мой RPROMPT показывает текущее время, заряд батареи и код возврата последнего приложения. `precmd()` необходимо для автоматического обновления. Конструкция `$(if.true.false)` является условным оператором в `zsh`.
Мой RPROMPT показывает текущее время, заряд батареи и код возврата последнего
приложения. `precmd()` необходимо для автоматического обновления. Конструкция
`$(if.true.false)` является условным оператором в `zsh`.
## <a href="#aliases" class="anchor" id="aliases"><span class="octicon octicon-link"></span></a>Аллиасы
**Копируйте только те аллиасы, которые Вам необходимы.** Если какой-либо аллиас использует приложение, которое не установлено, это приведет к сбою загрузки конфигурационного файла.
**Копируйте только те аллиасы, которые Вам необходимы.** Если какой-либо аллиас
использует приложение, которое не установлено, это приведет к сбою загрузки
конфигурационного файла.
Полезная (или не очень) функция:
@ -360,7 +382,8 @@ else
fi
```
Некоторые глобальные аллиасы. Если они включены, команда `cat foo g bar` будет эквивалентна `cat foo | grep bar`:
Некоторые глобальные аллиасы. Если они включены, команда `cat foo g bar` будет
эквивалентна `cat foo | grep bar`:
```bash
# global alias
@ -398,7 +421,8 @@ projctl () {
}
```
К сожалению, я не могу запомнить флаги `tar`, поэтому я использую специальные функции:
К сожалению, я не могу запомнить флаги `tar`, поэтому я использую специальные
функции:
```bash
# function to extract archives
@ -471,7 +495,9 @@ su () {
}
```
Функция, которая заменяет оригиналькую команду `rm`. Если Вы наберете `rm`, это будет эквивалентно перемещению в корзину, также, Вы можете легко восстановить удаленный файл:
Функция, которая заменяет оригиналькую команду `rm`. Если Вы наберете `rm`, это
будет эквивалентно перемещению в корзину, также, Вы можете легко восстановить
удаленный файл:
```bash
rm () {