Триггер fzf ** не работает в оболочке zsh.

Вопрос или проблема

Я использую оболочку zsh, и когда я ввожу nvim **, я ожидаю увидеть вызов fzf, но вместо этого вижу, как nvim открывает либо первый доступный файл в текущем каталоге, либо первую директорию в netrw.

Вот моя конфигурация zshrc.

Я пробовал использовать export FZF_COMPLETION_TRIGGER='~~', чтобы посмотреть, поможет ли изменение триггера, но это не помогает.

Что я делаю не так?

.

Ответ или решение

Проблема, с которой вы столкнулись, связана с недостаточной конфигурацией вашего zsh-окружения для правильной работы триггера fzf с использованием ** (двойной звездочки) как аргумента для команды. Давайте рассмотрим это более подробно и предложим возможные решения.

Понимание проблемы

Когда вы вводите команду nvim ** в zsh, предполагается, что zsh должен раскрыть все файлы и каталоги в текущем каталоге и их подкаталогах. Однако вместо этого, как вы описали, вы видите открытие первого файла или каталога. Это может происходить по нескольким причинам:

  1. Конфликт с настройками zsh: Ваша оболочка может быть настроена так, что расширение ** не обрабатывается должным образом.
  2. Функция fzf не интегрирована: Возможно, функция, отвечающая за интеграцию fzf с zsh, не настроена или активирована корректно.
  3. Отсутствие необходимого плагина или зависимости: Если вы используете менеджер плагинов, такой как zplug или oh-my-zsh, убедитесь, что все требуемые плагины и их зависимости установлены.

Решение проблемы

1. Проверьте настройки globbing

Чтобы убедиться, что злая пожарная команда ** работает правильно, вам нужно активировать globbing. Добавьте следующее в ваш файл конфигурации .zshrc:

setopt extended_glob

Эта команда включает расширенный globbing, позволяя использовать ** для обозначения всех файлов и подкаталогов.

2. Настройка fzf

Убедитесь, что fzf установлен и правильно интегрирован с zsh. Обычно это включает добавление следующих строк в .zshrc:

[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh

Это гарантирует, что функции fzf загружаются при запуске вашей оболочки.

3. Изменение триггера

Если вы хотите использовать другой триггер, вы можете попробовать следующее:

export FZF_COMPLETION_TRIGGER='~~'

Это действительно может помочь, если ** не работает так, как вы ожидаете, но при этом важно убедиться, что этот триггер также поддерживается вашими настройками.

4. Убедитесь, что у вас правильная версия

Также проверьте, что у вас установлена последняя версия fzf. Вы можете обновить fzf с помощью команды:

git -C ~/.fzf pull

После обновления не забудьте перезагрузить вашу zsh-конфигурацию:

source ~/.zshrc

Перезапуск терминала

После внесения этих изменений, обязательно перезапустите терминал или выполните команду source ~/.zshrc, чтобы обновить ваши настройки.

Заключение

Проблема с тем, что fzf не срабатывает при вводе команды nvim ** в оболочке zsh, может быть исправлена путем проверки и изменения конфигурации globbing с дополнительной настройкой интеграции fzf. Убедитесь, что все настройки выполнены правильно и версия fzf актуальна. Если проблема не решится, возможно, потребуется обратиться к документации fzf или zsh для дальнейшей настройки вашей среды.

Оцените материал
Добавить комментарий

Капча загружается...