Оптимизация
This commit is contained in:
parent
5773b855f3
commit
fb5782101b
@ -13,12 +13,14 @@ zle -N edit-command-line
|
|||||||
autoload -Uz select-word-style
|
autoload -Uz select-word-style
|
||||||
select-word-style shell
|
select-word-style shell
|
||||||
|
|
||||||
if is-at-least 5.1; then
|
if [ -z ${DISABLE_MAGIC_FUNCTIONS+set} ]; then
|
||||||
|
if is-at-least 5.1; then
|
||||||
autoload -Uz bracketed-paste-magic
|
autoload -Uz bracketed-paste-magic
|
||||||
zle -N bracketed-paste bracketed-paste-magic
|
zle -N bracketed-paste bracketed-paste-magic
|
||||||
|
fi
|
||||||
|
autoload -Uz url-quote-magic
|
||||||
|
zle -N self-insert url-quote-magic
|
||||||
fi
|
fi
|
||||||
autoload -Uz url-quote-magic
|
|
||||||
zle -N self-insert url-quote-magic
|
|
||||||
|
|
||||||
# Подсветка вывода основных команд
|
# Подсветка вывода основных команд
|
||||||
[[ -r /etc/grc.zsh ]] && source /etc/grc.zsh
|
[[ -r /etc/grc.zsh ]] && source /etc/grc.zsh
|
||||||
|
@ -14,3 +14,9 @@ source "$ZINIT[HOME_DIR]/zinit.zsh"
|
|||||||
autoload -Uz _zinit
|
autoload -Uz _zinit
|
||||||
(( ${+_comps} )) && _comps[zinit]=_zinit
|
(( ${+_comps} )) && _comps[zinit]=_zinit
|
||||||
|
|
||||||
|
# Расширение zinit для загрузки файлов
|
||||||
|
zinit light zdharma-continuum/z-a-patch-dl
|
||||||
|
|
||||||
|
# Расширение zinit для запуска программ и скриптов, расположенных вне $PATH
|
||||||
|
zinit light zdharma-continuum/z-a-bin-gem-node
|
||||||
|
|
||||||
|
@ -17,7 +17,6 @@ zinit snippet OMZP::autojump
|
|||||||
zinit snippet OMZP::command-not-found
|
zinit snippet OMZP::command-not-found
|
||||||
zinit snippet OMZP::common-aliases
|
zinit snippet OMZP::common-aliases
|
||||||
zinit snippet OMZP::debian
|
zinit snippet OMZP::debian
|
||||||
zinit snippet OMZP::fzf
|
|
||||||
zinit snippet OMZP::isodate
|
zinit snippet OMZP::isodate
|
||||||
zinit snippet OMZP::mosh
|
zinit snippet OMZP::mosh
|
||||||
zinit snippet OMZP::nmap
|
zinit snippet OMZP::nmap
|
||||||
@ -27,7 +26,14 @@ zinit snippet OMZP::vscode
|
|||||||
zinit snippet OMZP::web-search
|
zinit snippet OMZP::web-search
|
||||||
zinit load brymck/print-alias
|
zinit load brymck/print-alias
|
||||||
|
|
||||||
zinit ice lucid wait'0'
|
zinit ice wait'!0' from"gh-r" as"program"
|
||||||
|
zinit light junegunn/fzf
|
||||||
|
|
||||||
|
zinit ice wait'!0' mv"completion.zsh -> _fzf" pick"_fzf" as"completion"
|
||||||
|
zinit snippet https://github.com/junegunn/fzf/blob/master/shell/completion.zsh
|
||||||
|
zinit snippet https://github.com/junegunn/fzf/blob/master/shell/key-bindings.zsh
|
||||||
|
|
||||||
|
zinit ice wait'!0' lucid
|
||||||
zinit light joshskidmore/zsh-fzf-history-search
|
zinit light joshskidmore/zsh-fzf-history-search
|
||||||
|
|
||||||
if command -v git > /dev/null 2>&1; then
|
if command -v git > /dev/null 2>&1; then
|
||||||
|
@ -11,7 +11,12 @@
|
|||||||
##
|
##
|
||||||
# GPG agent
|
# GPG agent
|
||||||
##
|
##
|
||||||
# zinit snippet OMZP::gpg-agent
|
if command -v gpg-agent >/dev/null 2>&1; then
|
||||||
|
zinit snippet OMZP::gpg-agent
|
||||||
|
fi
|
||||||
|
if command -v gpg-conf >/dev/null 2>&1; then
|
||||||
|
gpgconf --create-socketdir
|
||||||
|
fi
|
||||||
|
|
||||||
##
|
##
|
||||||
# Keychain
|
# Keychain
|
||||||
|
@ -25,7 +25,7 @@ zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^<->.<->
|
|||||||
|
|
||||||
# marlonrichert/zsh-autocomplete
|
# marlonrichert/zsh-autocomplete
|
||||||
|
|
||||||
zinit wait lucid for \
|
zinit wait'!0' lucid light-mode depth=1 for \
|
||||||
atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
|
atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
|
||||||
zdharma-continuum/fast-syntax-highlighting \
|
zdharma-continuum/fast-syntax-highlighting \
|
||||||
blockf \
|
blockf \
|
||||||
@ -35,6 +35,10 @@ zinit wait lucid for \
|
|||||||
|
|
||||||
zstyle ":history-search-multi-word" page-size "$(($LINES/2))"
|
zstyle ":history-search-multi-word" page-size "$(($LINES/2))"
|
||||||
zstyle ":plugin:history-search-multi-word" clear-on-cancel "yes"
|
zstyle ":plugin:history-search-multi-word" clear-on-cancel "yes"
|
||||||
zinit load zdharma-continuum/history-search-multi-word
|
zinit wait'!0' lucid light-mode depth=1 for \
|
||||||
bindkey "^K" history-search-multi-word
|
zdharma-continuum/history-search-multi-word \
|
||||||
|
atload"bindkey '^[[A' history-substring-search-up; \
|
||||||
|
bindkey '^[[B' history-substring-search-down; \
|
||||||
|
bindkey '^K' history-search-multi-word " \
|
||||||
|
zsh-users/zsh-history-substring-search
|
||||||
|
|
||||||
|
@ -1,5 +1,11 @@
|
|||||||
# Defined shortcut keys: [Esc] [Esc]
|
# Defined shortcut keys: [Esc] [Esc]
|
||||||
bindkey -M emacs '\e\e' send-break
|
bindkey '\e\e' send-break
|
||||||
bindkey -M vicmd '\e\e' send-break
|
|
||||||
bindkey -M viins '\e\e' send-break
|
# FZF #{{{
|
||||||
|
bindkey "^F" fzf-file-widget # Ctrl+F file search
|
||||||
|
bindkey "^[[A" fzf-history-widget # Up
|
||||||
|
bindkey "^[[B" fzf-history-widget # Down
|
||||||
|
bindkey "${terminfo[kcuu1]}" fzf-history-widget # Up
|
||||||
|
bindkey "${terminfo[kcud1]}" fzf-history-widget # Down
|
||||||
|
#}}}
|
||||||
|
|
||||||
|
82
README.md
82
README.md
@ -9,14 +9,7 @@ sudo apt-get install git zsh
|
|||||||
Установка желательных пакетов:
|
Установка желательных пакетов:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
sudo apt-get install autojump grc grepcidr keychain kitty-terminfo peco wmctrl xdotool
|
sudo apt-get install autojump command-not-found grc grepcidr kitty-terminfo wmctrl xdotool
|
||||||
```
|
|
||||||
|
|
||||||
Если в системе установлен пакет `fzf`, лучше его удалить, так как устанавливаемый
|
|
||||||
плагин может с ним конфликтовать:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
sudo apt-get remove fzf
|
|
||||||
```
|
```
|
||||||
|
|
||||||
Клонирование репозитория в каталог `~/.config/zsh`:
|
Клонирование репозитория в каталог `~/.config/zsh`:
|
||||||
@ -50,12 +43,50 @@ sudo usermod -s /usr/bin/zsh username
|
|||||||
cp ~/.config/zsh/55-agents.zsh ~/.config/zsh/55-agents.user.zsh
|
cp ~/.config/zsh/55-agents.zsh ~/.config/zsh/55-agents.user.zsh
|
||||||
```
|
```
|
||||||
|
|
||||||
## Настройка GPG агента
|
## Настройка SSH агента
|
||||||
|
|
||||||
|
Установить необходимые пакеты:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt install openssh-client
|
||||||
|
```
|
||||||
|
|
||||||
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
# if command -v ssh-agent >/dev/null 2>&1; then
|
||||||
|
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
||||||
|
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
||||||
|
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
||||||
|
# zinit snippet OMZP::ssh-agent
|
||||||
|
# fi
|
||||||
|
```
|
||||||
|
|
||||||
|
Добавить в конец файла `~/.ssh/config` правило для разрешения агенту сохранять ключи:
|
||||||
|
|
||||||
|
```text
|
||||||
|
Host *
|
||||||
|
AddKeysToAgent yes
|
||||||
|
```
|
||||||
|
|
||||||
|
|
||||||
|
## Настройка GPG агента
|
||||||
|
|
||||||
|
Установить необходимые пакеты:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt install openssh-client gpg-agent gpgconf
|
||||||
|
```
|
||||||
|
|
||||||
|
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
# if command -v gpg-agent >/dev/null 2>&1; then
|
||||||
# zinit snippet OMZP::gpg-agent
|
# zinit snippet OMZP::gpg-agent
|
||||||
|
# if command -v gpg-conf >/dev/null 2>&1; then
|
||||||
|
# gpgconf --create-socketdir
|
||||||
|
# fi
|
||||||
|
# fi
|
||||||
```
|
```
|
||||||
|
|
||||||
Пример файла настройки GPG агента `~/.config/gnupg/gpg-agent.conf`:
|
Пример файла настройки GPG агента `~/.config/gnupg/gpg-agent.conf`:
|
||||||
@ -71,27 +102,8 @@ pinentry-program /usr/bin/pinentry-qt
|
|||||||
```
|
```
|
||||||
|
|
||||||
Чтобы включить в GPG агенте поддержку SSH, нужно раскомментировать
|
Чтобы включить в GPG агенте поддержку SSH, нужно раскомментировать
|
||||||
последнюю строку.
|
последнюю строку и отредактировать файл `~/.ssh/config`, как это описано
|
||||||
|
в разделе настройки SSH.
|
||||||
|
|
||||||
## Настройка SSH агента
|
|
||||||
|
|
||||||
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
|
||||||
|
|
||||||
```sh
|
|
||||||
# zstyle :omz:plugins:ssh-agent agent-forwarding on
|
|
||||||
# zstyle :omz:plugins:ssh-agent identities id_rsa
|
|
||||||
# zstyle :omz:plugins:ssh-agent lifetime 10h
|
|
||||||
# zinit snippet OMZP::ssh-agent
|
|
||||||
```
|
|
||||||
|
|
||||||
Добавить в конец файла `~/.ssh/config` правило для разрешения агенту сохранять ключи:
|
|
||||||
|
|
||||||
```text
|
|
||||||
Host *
|
|
||||||
AddKeysToAgent yes
|
|
||||||
IdentityFile ~/.ssh/id_rsa
|
|
||||||
```
|
|
||||||
|
|
||||||
|
|
||||||
## Настройка Keychain
|
## Настройка Keychain
|
||||||
@ -104,13 +116,21 @@ Host *
|
|||||||
use-ssh-agent
|
use-ssh-agent
|
||||||
```
|
```
|
||||||
|
|
||||||
|
Установить необходимые пакеты:
|
||||||
|
|
||||||
|
```sh
|
||||||
|
sudo apt install keychain openssh-client gpg-agent gpgconf
|
||||||
|
```
|
||||||
|
|
||||||
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
||||||
|
|
||||||
```sh
|
```sh
|
||||||
|
# if command -v keychain >/dev/null 2>&1; then
|
||||||
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
||||||
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
|
# zstyle :omz:plugins:keychain options --quiet --inherit any-once --noask --nocolor --absolute --dir ~/.cache/keychain
|
||||||
# zstyle :omz:plugins:keychain agents gpg,ssh
|
# zstyle :omz:plugins:keychain agents gpg,ssh
|
||||||
# zinit snippet OMZP::keychain
|
# zinit snippet OMZP::keychain
|
||||||
|
# fi
|
||||||
```
|
```
|
||||||
|
|
||||||
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
|
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
|
||||||
|
16
fixes.zsh
16
fixes.zsh
@ -4,7 +4,7 @@
|
|||||||
# где отсутствует пакет kitty-terminfo
|
# где отсутствует пакет kitty-terminfo
|
||||||
fix-kitty-terminal-support() {
|
fix-kitty-terminal-support() {
|
||||||
mkdir -p $HOME/.terminfo/x
|
mkdir -p $HOME/.terminfo/x
|
||||||
wget -qO - https://github.com/kovidgoyal/kitty/raw/master/terminfo/x/xterm-kitty > ~/.terminfo/x/xterm-kitty
|
wget -qO - https://github.com/kovidgoyal/kitty/raw/master/terminfo/x/xterm-kitty > $HOME/.terminfo/x/xterm-kitty
|
||||||
}
|
}
|
||||||
|
|
||||||
# Настройка mc для работы в терминале kitty
|
# Настройка mc для работы в терминале kitty
|
||||||
@ -12,14 +12,14 @@ fix-kitty-terminal-support() {
|
|||||||
# При вызове функции с параметром -f текущие настройки клавиш
|
# При вызове функции с параметром -f текущие настройки клавиш
|
||||||
# для работы mc в терминале kitty будут перезаписаны
|
# для работы mc в терминале kitty будут перезаписаны
|
||||||
fix-mc-kitty-support() {
|
fix-mc-kitty-support() {
|
||||||
local mc_cfg="${HOME}/.config/mc/ini"
|
local cfg="${HOME}/.config/mc/ini"
|
||||||
|
|
||||||
[[ "$1" == "-f" ]] && sed -i '/\[terminal:xterm-kitty\]/,/^$/{d}' "${mc_cfg}"
|
[[ "$1" == "-f" ]] && sed -i '/\[terminal:xterm-kitty\]/,/^$/{d}' "${cfg}"
|
||||||
if [ -w "${mc_cfg}" ]; then
|
if [ -w "${cfg}" ]; then
|
||||||
if ! grep -qF "[terminal:xterm-kitty]" "${mc_cfg}" ; then
|
if ! grep -qF "[terminal:xterm-kitty]" "${cfg}" ; then
|
||||||
echo >> "${mc_cfg}"
|
echo >> "${cfg}"
|
||||||
echo "[terminal:xterm-kitty]" >> "${mc_cfg}"
|
echo "[terminal:xterm-kitty]" >> "${cfg}"
|
||||||
echo "copy=xterm" >> "${mc_cfg}"
|
echo "copy=xterm" >> "${cfg}"
|
||||||
fi
|
fi
|
||||||
fi
|
fi
|
||||||
}
|
}
|
||||||
|
Loading…
Reference in New Issue
Block a user