Оптимизация
This commit is contained in:
parent
5773b855f3
commit
fb5782101b
@ -13,12 +13,14 @@ zle -N edit-command-line
|
||||
autoload -Uz select-word-style
|
||||
select-word-style shell
|
||||
|
||||
if is-at-least 5.1; then
|
||||
autoload -Uz bracketed-paste-magic
|
||||
zle -N bracketed-paste bracketed-paste-magic
|
||||
if [ -z ${DISABLE_MAGIC_FUNCTIONS+set} ]; then
|
||||
if is-at-least 5.1; then
|
||||
autoload -Uz bracketed-paste-magic
|
||||
zle -N bracketed-paste bracketed-paste-magic
|
||||
fi
|
||||
autoload -Uz url-quote-magic
|
||||
zle -N self-insert url-quote-magic
|
||||
fi
|
||||
autoload -Uz url-quote-magic
|
||||
zle -N self-insert url-quote-magic
|
||||
|
||||
# Подсветка вывода основных команд
|
||||
[[ -r /etc/grc.zsh ]] && source /etc/grc.zsh
|
||||
|
@ -14,3 +14,9 @@ source "$ZINIT[HOME_DIR]/zinit.zsh"
|
||||
autoload -Uz _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::common-aliases
|
||||
zinit snippet OMZP::debian
|
||||
zinit snippet OMZP::fzf
|
||||
zinit snippet OMZP::isodate
|
||||
zinit snippet OMZP::mosh
|
||||
zinit snippet OMZP::nmap
|
||||
@ -27,7 +26,14 @@ zinit snippet OMZP::vscode
|
||||
zinit snippet OMZP::web-search
|
||||
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
|
||||
|
||||
if command -v git > /dev/null 2>&1; then
|
||||
|
@ -11,7 +11,12 @@
|
||||
##
|
||||
# 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
|
||||
|
@ -25,7 +25,7 @@ zstyle ':completion:*:(ssh|scp|rsync):*:hosts-ipaddr' ignored-patterns '^<->.<->
|
||||
|
||||
# marlonrichert/zsh-autocomplete
|
||||
|
||||
zinit wait lucid for \
|
||||
zinit wait'!0' lucid light-mode depth=1 for \
|
||||
atinit"ZINIT[COMPINIT_OPTS]=-C; zicompinit; zicdreplay" \
|
||||
zdharma-continuum/fast-syntax-highlighting \
|
||||
blockf \
|
||||
@ -35,6 +35,10 @@ zinit wait lucid for \
|
||||
|
||||
zstyle ":history-search-multi-word" page-size "$(($LINES/2))"
|
||||
zstyle ":plugin:history-search-multi-word" clear-on-cancel "yes"
|
||||
zinit load zdharma-continuum/history-search-multi-word
|
||||
bindkey "^K" history-search-multi-word
|
||||
zinit wait'!0' lucid light-mode depth=1 for \
|
||||
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]
|
||||
bindkey -M emacs '\e\e' send-break
|
||||
bindkey -M vicmd '\e\e' send-break
|
||||
bindkey -M viins '\e\e' send-break
|
||||
bindkey '\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
|
||||
#}}}
|
||||
|
||||
|
90
README.md
90
README.md
@ -9,14 +9,7 @@ sudo apt-get install git zsh
|
||||
Установка желательных пакетов:
|
||||
|
||||
```sh
|
||||
sudo apt-get install autojump grc grepcidr keychain kitty-terminfo peco wmctrl xdotool
|
||||
```
|
||||
|
||||
Если в системе установлен пакет `fzf`, лучше его удалить, так как устанавливаемый
|
||||
плагин может с ним конфликтовать:
|
||||
|
||||
```sh
|
||||
sudo apt-get remove fzf
|
||||
sudo apt-get install autojump command-not-found grc grepcidr kitty-terminfo wmctrl xdotool
|
||||
```
|
||||
|
||||
Клонирование репозитория в каталог `~/.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
|
||||
```
|
||||
|
||||
## Настройка GPG агента
|
||||
## Настройка SSH агента
|
||||
|
||||
Установить необходимые пакеты:
|
||||
|
||||
```sh
|
||||
sudo apt install openssh-client
|
||||
```
|
||||
|
||||
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
||||
|
||||
```sh
|
||||
# zinit snippet OMZP::gpg-agent
|
||||
# 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
|
||||
# if command -v gpg-conf >/dev/null 2>&1; then
|
||||
# gpgconf --create-socketdir
|
||||
# fi
|
||||
# fi
|
||||
```
|
||||
|
||||
Пример файла настройки GPG агента `~/.config/gnupg/gpg-agent.conf`:
|
||||
@ -71,27 +102,8 @@ pinentry-program /usr/bin/pinentry-qt
|
||||
```
|
||||
|
||||
Чтобы включить в GPG агенте поддержку 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
|
||||
```
|
||||
последнюю строку и отредактировать файл `~/.ssh/config`, как это описано
|
||||
в разделе настройки SSH.
|
||||
|
||||
|
||||
## Настройка Keychain
|
||||
@ -104,13 +116,21 @@ Host *
|
||||
use-ssh-agent
|
||||
```
|
||||
|
||||
Установить необходимые пакеты:
|
||||
|
||||
```sh
|
||||
sudo apt install keychain openssh-client gpg-agent gpgconf
|
||||
```
|
||||
|
||||
Раскомментировать в файле ` ~/.config/zsh/55-agents.user.zsh` строки:
|
||||
|
||||
```sh
|
||||
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
||||
# zstyle :omz:plugins:keychain options --quiet --inherit local-once --noask --nocolor --quick
|
||||
# zstyle :omz:plugins:keychain agents gpg,ssh
|
||||
# zinit snippet OMZP::keychain
|
||||
# if command -v keychain >/dev/null 2>&1; then
|
||||
# zstyle :omz:plugins:keychain identities id_rsa 01234567
|
||||
# zstyle :omz:plugins:keychain options --quiet --inherit any-once --noask --nocolor --absolute --dir ~/.cache/keychain
|
||||
# zstyle :omz:plugins:keychain agents gpg,ssh
|
||||
# zinit snippet OMZP::keychain
|
||||
# fi
|
||||
```
|
||||
|
||||
Отредактировать файлы настроек для агента GPG и SSH, как это описано в разделах выше.
|
||||
|
16
fixes.zsh
16
fixes.zsh
@ -4,7 +4,7 @@
|
||||
# где отсутствует пакет kitty-terminfo
|
||||
fix-kitty-terminal-support() {
|
||||
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
|
||||
@ -12,14 +12,14 @@ fix-kitty-terminal-support() {
|
||||
# При вызове функции с параметром -f текущие настройки клавиш
|
||||
# для работы mc в терминале kitty будут перезаписаны
|
||||
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}"
|
||||
if [ -w "${mc_cfg}" ]; then
|
||||
if ! grep -qF "[terminal:xterm-kitty]" "${mc_cfg}" ; then
|
||||
echo >> "${mc_cfg}"
|
||||
echo "[terminal:xterm-kitty]" >> "${mc_cfg}"
|
||||
echo "copy=xterm" >> "${mc_cfg}"
|
||||
[[ "$1" == "-f" ]] && sed -i '/\[terminal:xterm-kitty\]/,/^$/{d}' "${cfg}"
|
||||
if [ -w "${cfg}" ]; then
|
||||
if ! grep -qF "[terminal:xterm-kitty]" "${cfg}" ; then
|
||||
echo >> "${cfg}"
|
||||
echo "[terminal:xterm-kitty]" >> "${cfg}"
|
||||
echo "copy=xterm" >> "${cfg}"
|
||||
fi
|
||||
fi
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user