mirror of
https://github.com/arcan1s/arcanis.me.git
synced 2025-07-23 09:29:55 +00:00
added paper
This commit is contained in:
@ -8,14 +8,14 @@ short: about-zshrc
|
||||
description: Это моя статья в моем блоге (я думаю, мне нужно что-нибудь для тестов =)). Существует множество похожих статей и, я думаю, не буду отличаться от большинства. Я просто хочу показать мой <code>.zshrc</code> и объяснить, что в нем есть и зачем оно нужно. Также, любые комментарии или дополнения приветствуются. <a href="http://archlinux.org.ru/forum/topic/12752/">Оригинал</a> статьи.
|
||||
commentIssueId: 5
|
||||
---
|
||||
<h3><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Подготовка</h2>
|
||||
<h2><a name="prepare" class="anchor" href="#prepare"><span class="octicon octicon-link"></span></a>Подготовка</h2>
|
||||
<p align="justify">Сначала установите необходимый минимум:</p>
|
||||
{% highlight bash %}
|
||||
pacman -Sy pkgfile zsh zsh-completions zsh-syntax-highlighting
|
||||
{% endhighlight %}
|
||||
<p align="justify"><a href="https://www.archlinux.org/packages/pkgfile/">pkgfile</a> очень полезная утилита. Данная команда также установит шелл, дополнения к нему и подсветку синтаксиса.</p>
|
||||
|
||||
<h3><a name="configuration" class="anchor" href="#configuration"><span class="octicon octicon-link"></span></a>Настройка шелла</h2>
|
||||
<h2><a name="configuration" class="anchor" href="#configuration"><span class="octicon octicon-link"></span></a>Настройка шелла</h2>
|
||||
<p align="justify">Все доступные опции приведены <a href="http://zsh.sourceforge.net/Doc/Release/Options.html">здесь</a>.</p>
|
||||
|
||||
<p align="justify">Указываем файл с историей, число команд хранящихся в кэше текущего сеанса и число команд, хранящихся в файле:</p>
|
||||
@ -112,7 +112,7 @@ setopt HIST_REDUCE_BLANKS
|
||||
source /usr/share/doc/pkgfile/command-not-found.zsh
|
||||
{% endhighlight %}
|
||||
|
||||
<h3><a name="highlighting" class="anchor" href="#highlighting"><span class="octicon octicon-link"></span></a>Подсветка синтаксиса</h2>
|
||||
<h2><a name="highlighting" class="anchor" href="#highlighting"><span class="octicon octicon-link"></span></a>Подсветка синтаксиса</h2>
|
||||
{% highlight bash %}
|
||||
# highlighting
|
||||
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
||||
@ -161,7 +161,7 @@ ZSH_HIGHLIGHT_STYLES[double-quoted-argument]='fg=yellow' # конс
|
||||
{% endhighlight %}
|
||||
<p align="justify">В первой строке включаем подсветку. Затем включаем основную подсветку, а также подсветку скобок и шаблонов. Шаблоны указываются ниже (<code>rm -rf *</code> в примере). Также может быть включена подсветка команд от <code>root</code> и курсора <code>cursor</code>. Синтаксис настроек понятен, <code>fg</code> цвет шрифта, <code>bg</code> цвет фона.</p>
|
||||
|
||||
<h3><a name="prompt" class="anchor" href="#prompt"><span class="octicon octicon-link"></span></a>$PROMPT и $RPROMPT</h2>
|
||||
<h2><a name="prompt" class="anchor" href="#prompt"><span class="octicon octicon-link"></span></a>$PROMPT и $RPROMPT</h2>
|
||||
<p align="justify">Я хочу использовать один файл <code>.zshrc</code> для рута и обычного пользователя:</p>
|
||||
{% highlight bash %}
|
||||
# PROMPT && RPROMPT
|
||||
@ -239,7 +239,7 @@ $returncode\
|
||||
{% endhighlight %}
|
||||
<p align="justify">Мой RPROMPT показывает текущее время, заряд батареи и код возврата последнего приложения. <code>precmd()</code> необходимо для автоматического обновления. Конструкция <code>$(if.true.false)</code> является условным оператором в <code>zsh</code>.</p>
|
||||
|
||||
<h3><a name="aliases" class="anchor" href="#aliases"><span class="octicon octicon-link"></span></a>Аллиасы</h2>
|
||||
<h2><a name="aliases" class="anchor" href="#aliases"><span class="octicon octicon-link"></span></a>Аллиасы</h2>
|
||||
<p align="justify"><b>Копируйте только те аллиасы, которые Вам необходимы.</b> Если какой-либо аллиас использует приложение, которое не установлено, это приведет к сбою загрузки конфигурационного файла.</p>
|
||||
|
||||
<p align="justify">Полезная (или не очень) функция:</p>
|
||||
@ -327,7 +327,7 @@ alias -g h="| head"
|
||||
alias -g dn="&> /dev/null &"
|
||||
{% endhighlight %}
|
||||
|
||||
<h3><a name="functions" class="anchor" href="#functions"><span class="octicon octicon-link"></span></a>Функции</h2>
|
||||
<h2><a name="functions" class="anchor" href="#functions"><span class="octicon octicon-link"></span></a>Функции</h2>
|
||||
<p align="justify">Специальная функция для <code>xrandr</code>:</p>
|
||||
|
||||
{% highlight bash %}
|
||||
@ -439,7 +439,7 @@ yatest () {
|
||||
{% endhighlight %}
|
||||
<p align="justify">Но автодополнение для <code>yaourt -Ss</code> <a href="https://github.com/zsh-users/zsh-completions/pull/205">будет требовать</a> привилегий рута.</p>
|
||||
|
||||
<h3><a name="variables" class="anchor" href="#variables"><span class="octicon octicon-link"></span></a>Переменные</h2>
|
||||
<h2><a name="variables" class="anchor" href="#variables"><span class="octicon octicon-link"></span></a>Переменные</h2>
|
||||
<p align="justify">Рекомендуется хранить свои переменные в <code>~/.zshenv</code>. Но я все храню в одном файле.</p>
|
||||
|
||||
<p align="justify">Пути, маска создаваемых файлов, редактор и пейджер:</p>
|
||||
@ -463,8 +463,8 @@ hash -d u1=/mnt/usbdev1
|
||||
hash -d u2=/mnt/usbdev2
|
||||
{% endhighlight %}
|
||||
|
||||
<h3><a name="screenshot" class="anchor" href="#screenshot"><span class="octicon octicon-link"></span></a>Скриншот</h2>
|
||||
<h2><a name="screenshot" class="anchor" href="#screenshot"><span class="octicon octicon-link"></span></a>Скриншот</h2>
|
||||
<p align="justify"><a href="/resources/screenshots/zshrc_demo.png"><img src="/resources/preview/zshrc_demo_prev.jpg"></a></p>
|
||||
|
||||
<h3><a name="file" class="anchor" href="#file"><span class="octicon octicon-link"></span></a>Файл</h2>
|
||||
<h2><a name="file" class="anchor" href="#file"><span class="octicon octicon-link"></span></a>Файл</h2>
|
||||
<p align="justify"><a href="https://raw.github.com/arcan1s/dotfiles/master/zshrc">Мой</a> <code>.zshrc</code>.</p>
|
||||
|
Reference in New Issue
Block a user