Как сделать, чтобы zsh-завершение показывало первую догадку в той же строке (как рыба)?

38

В Fish, когда вы начинаете печатать, автозаполнение автоматически показывает первое автозаполненное предположение на самой строке.

В Zsh вы должны нажать вкладку, и это показывает автозаполнение ниже. Есть ли способ заставить zsh вести себя как рыба в этом отношении?

(Я использую Oh My Zsh ...)

korylprince
источник
4
Попробуйте это: github.com/tarruda/zsh-autosuggestions
Тьяго де Арруда
Да! Это потрясающе! Вы должны написать это как ответ, чтобы люди увидели это.
korylprince
Я все еще исправляю ошибки, как только я буду готов на 100% к ежедневному использованию
Тьяго де Арруда
Следуйте
Абхишек Бхатия,

Ответы:

50

Я реализовал плагин zsh-autosuggestions .

Он должен хорошо интегрироваться с zsh-history-substring-search и zsh-syntax-подсветкой, которые являются портированными функциями из fish.

Тьяго де Арруда
источник
Выделение этого не работает для меня и ряда других, и проблемы с github, похоже, не решаются. См. Github.com/tarruda/zsh-autosuggestions/issues/12
Илай
@Eli Этот плагин был недавно переписан для решения многих проблем. Не стесняйтесь дать ему еще один выстрел.
Эрик Фриз
Вот что насчет zsh-autosuggestions: он отстраняется от истории, которая часто похожа на завершение табуляции, но совершенно другая. Я думаю, что многие из нас ищут точное значение, которое будет отображать вкладка. Это очень существенное различие ...
Стивен Лу
@StevenLu Предложения по дополнению табуляции были реализованы в функциональной ветке. Взгляните еще раз: github.com/zsh-users/zsh-autosuggestions/pull/330
Эрик Фриз
24

Пытаться:

autoload predict-on
predict-on

Видеть:

info zsh --index-search=predict-on

для деталей.

Стефан Шазелас
источник
7
Это технически правильный ответ. Тем не менее, поддержка прогнозирования zsh довольно ужасна по сравнению с рыбой в ее нынешнем состоянии (по крайней мере, с протестированными мною конфигурациями)
korylprince
1
Как ты его выключаешь?
Мне это совсем не нравится.
Суржикал
5

Чтобы получить другие функции, выполните следующие действия: https://github.com/abhigenie92/zsh_to_fish

  1. Установить ой-мой-zsh sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"

  2. Клонировать необходимые плагины. git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions git clone https://github.com/zsh-users/zsh-history-substring-search ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-history-substring-search git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting

  3. Добавьте плагины в ~/.zshrcкачестве plugins = ( [plugins...] zsh-autosuggestions zsh-history-substring-search zsh-syntax-highlighting) Примечание: убедитесь, что zsh-syntax-подсветка является последней в приведенном выше списке.

  4. Исправьте проблемы фоновой темы (не обязательно зависит от вашей темы.) Добавьте следующую строку к вашей ~/.zshrc. ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=white'

  5. Перезапустить зш source ~/.zshrc

Если вам нравится ответ, пожалуйста, подумайте о роли github-репо.

Абхишек Бхатия
источник