Удобство работы в zsh

Материал из Belgorod Linux User Group - Белгород

Перейти к: навигация, поиск

Содержание

История команд

Как вести историю команд? Добавить в ваш ~/.zshrc строки:

HISTFILE=~/.zhistory
SAVEHIST=5000
HISTSIZE=5000
setopt APPEND_HISTORY

Размеры переменных SAVEHIST и HISTSIZE должны быть одинаковы. А потом поиск по истории как всегда: Ctrl+R и набираем что хотим "вспомнить"...

Содержимое текущей директории

Если при смене директории необходимо сразу видеть ее содержимое (как правило после cd вы сразу набираете ls), можно добавить строку:

chpwd() {ls -X}

в ваш ~/.zshrc и после смены директории будет сразу выводиться ее содержимое.

Автодополнение списка файлов, директорий и команд

Если вы хотите включить автодополнение имен директорий и файлов по нажатии <TAB>, а так же автоматическое дополнение параметров команд, да еще и в виде цветного списка, следует добавить в ваш ~/.zshrc следующие строки: загрузка, инициализаци модула

zmodload zsh/complist
setopt menucomplete
zstyle ':completion:*' menu yes select
bindkey -M menuselect "/" accept-and-infer-next-history

цветные директории и файлы

LS_COLORS=`eval dircolors`
zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS}

автокомплит некоторых команд

zstyle ':completion:*:processes' command 'ps -xuf'
zstyle ':completion:*:processes' sort false
zstyle ':completion:*:processes-names' command 'ps xho command'

В результате у вас будет что-то типа такого:

Zsh-completition-001.png

Zsh-completition-002.png

Навигация по именам соответственно клавишами, как в файловых менеджерах.

Автосмена в директории

Если хотите чтобы при наборе имени директории - zsh сам в нее переходил (без набора cd дополнительно), добавьте в конфиг строку: setopt autocd

Тетрис

Как поиграть в Тетрис прямо в консоли? Добавить в ваш ~/.zshrc строки:

autoload -U tetris
zle -N tetris

А затем из консоли: M-x tetris (M - это как правило ALT), ну или забиндить его на какую-либо клавишу.

Поведение клавиш

Параметр

bindkey -e

в вашем ~/.zshrc выставит режим поведения клавиш в консоле а-ля emacs-style (обычно более привычный) можно еще использовать vim-style:

bindkey -v
Личные инструменты