autocompletion


ramok аватар

Как настроить автодополнение в zsh для ssh хостов взятых из ~/.ssh/known_hosts

добавляем в ~/.zshrc
ssh_hosts=($hosts ${${${(f)"$(<$HOME/.ssh/known_hosts)"}%%\ *}%%,*})
# automatically remove duplicates from these arrays
typeset -U ssh_hosts
zstyle ':completion:*:hosts' hosts $ssh_hosts
zstyle ':completion:*:(ssh|scp|sftp):*' tag-order '! users' #не добавлять юзера
проверяем запустив новый шел и набрав ssh [TAB] должно выдавать хосты на которые когда то были заходы по ssh дополнительные хосты которые вы хотите что бы автодополнялись можно заносить в массив $hosts перед приведенными командами.
0
Ваша оценка: Ничего
ramok аватар

использование алиасов mutt для автодополнения в zsh

1) создаем файл для алиасов mutt
$ mkdir ~/.mutt
$ touch ~/.mutt/aliases

2) заносим в ~/.muttrc
set alias_file=~/.mutt/aliases
source ~/.mutt/aliases

3) заносим в mutt алиас
запускаем mutt, жмем a, вводим например "Псевдоним: ramok","Адрес: ramok@core.org.ua" , "Полное имя: Ramok Inc." и соглашаемся сохранить
если хотим написать письмо из mutt то жмем m и потом tab можем выбрать алиас

4) настраиваем zsh. заносим в ~/.zshrc
if [[ -f ~/.mutt/aliases ]]; then
    zstyle ':completion:*:mutt:*' users \
    ${${${(f)"$(<~/.mutt/aliases)"}#alias[[:space:]]}%%[[:space:]]*}           
fi
5) проверяем как работает. запускаем новый шел
набираем
mutt [ТАБ]
и должно предложить выбрать юзера ramok
0
Ваша оценка: Ничего
ramok аватар

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

добавте в ~/.zshrc

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

теперь например при
$ cd /[TAB]
выведутся варианты имен файлов в цвете

цвета будут такие же как и при ls --color

если хотите настроить свои цвета то читаем
man dircolors
man 5 dir_colors

Вот более портируемый вариант, который будет работать и в *BSD системах где dircolors нет

if which dircolors > /dev/null; then
    eval `dircolors`
else
  LS_COLORS="no=00:fi=00:di=01;34:ln=01;36:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:"
  LS_COLORS="${LS_COLORS}or=40;31;01:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arj=01;31:*.taz=01;31:"
  LS_COLORS="${LS_COLORS}*.lzh=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.gz=01;31:*.bz2=01;31:"
0
Ваша оценка: Ничего