Как включить завершение табуляции + выбор клавиш со стрелками для команды kill в zsh?

Есть ли способ включить выбор клавиш со стрелками для команды kill в zsh?

E.g.

$ kill <TAB>

дает мне список всех запущенных в данный момент процессов, и затем я могу использовать клавиши со стрелками, чтобы выбрать конкретный.

Однако, когда я это делаю:

$ kill foo<TAB>

Я получаю список всех процессов с foo в имени, но я не могу выбрать конкретный из списка с помощью клавиш со стрелками.

Я пытался просмотреть файл compdef для kill, но недостаточно знаком с тем, как работает система завершения zsh, чтобы понять, что нужно изменить, чтобы она заработала.

На случай, если это поможет, вот мой текущий compdef для kill, по крайней мере, я предполагаю, что это так. Расположение файла в моей системе: /usr/share/zsh/functions/Completion/Zsh/_kill

#compdef kill

local curcontext="$curcontext" line state ret=1
typeset -A opt_args

_arguments -C \
  '(-s -l 1)-n[specify signal number]:signal number' \
  '(-n -l 1)-s[specify signal name]:signal:_signals -s' \
  '(-n -s)-l[list signal names or numbers of specified signals]:*:signal:_signals' \
  '(-n -s -l)1::signal:_signals -p -s' \
  '*:processes:->processes' && ret=0
  
if [[ -n "$state" ]]; then
  local pgrp='process-groups:: _wanted '
  [[ -n "$opt_args[(i)-[ns]]${${(@)line:#--}}" && -prefix - ]] && pgrp+='-x '
  pgrp+="process-groups expl 'process-group' compadd - 0"
  _alternative \
    'processes:: _pids' \
    'jobs:: _jobs -t' $pgrp && ret=0
fi

return ret

person rtur    schedule 06.03.2021    source источник


Ответы (1)


Просто установите zsh-autocomplete, и все будет работать безупречно. ????

person Marlon Richert    schedule 12.03.2021