zsh автозаполнение работает только со встроенными командами - PullRequest
0 голосов
/ 27 марта 2020

Я новичок в zsh, только что переключился с Fi sh. Я пытаюсь заставить работать автозаполнение, чтобы оно отображало параметры аргумента / флага для команд после нажатия клавиши табуляции.

В настоящее время это работает, но работает только для встроенных команд. Например, это работает для ls, grep, git, et c. но не работает для программ, которые я добавил сам. Например, fd-find, exa и nvm не работают.

Для nvm я включил плагин nvm, используя Oh My Zsh. Я знаю, что плагин работает в целом, потому что сам nvm работает (и не было до включения плагина).

Для fd-find я вижу файл автозаполнения в /usr/share/zsh/vendor-completions/_fd

Например, я вручную загрузил и поместил файл автозаполнения в /usr/local/share/zsh/site-functions/_exa в соответствии с инструкциями сайта.

Все 3 из этих программ не показывают мне типичное меню автозаполнения аргументов / флагов, как построено в командах делай. Я не уверен, что не так.

Я повторил переменную окружения fpath, чтобы убедиться, что /usr/local/share/zsh/site-functions был там. Это, наряду с /usr/local/share/zsh/site-functions/

Когда я запускаю which nvm, я получаю:

_nvm () {
    # undefined
    builtin autoload -XUz
}

Что на самом деле я получаю для всех _nvm, _exa, _fd.

Не знаете, что еще попробовать.

Есть ли какие-либо предложения о том, как правильно настроить автозаполнение?

Другая информация: Я на ноутбуке System76 Darter Pro, на котором установлен Pop! _OS.

1 Ответ

0 голосов
/ 27 марта 2020

Я нашел исправление, которое работало на меня. После поиска zsh проблем, связанных с автозаполнением на github, это решение сработало для меня. Был дан кредит исходному источнику решения на stackexchange.

Решением было простое удаление всех файлов zcompdump:

rm ~/.zcompdump*

После выполнения вышеуказанной команды: автозаполнение работает и расширяет возможные флаги / аргументы для не встроенных программ!

...