Недавно я нашел этот инструмент командной строки под названием fzf. Я установил его по инструкции, и он работает, за исключением привязки клавиш CTRL-T. Несмотря на то, что я установил специальный материал с привязками клавиш в соответствии с их инструкциями, я также попытался установить fzf, загруженный из репозитория git, а не через homebrew, все привязки клавиш CTRL-T по-прежнему меняют последние два символы.
Я нашел обсуждение этого вопроса в это, но ни один из предложенных ответов не помог мне.
edit: вы можете увидеть это в первом видео здесь, чего я хочу достичь. изменить 2: я использую терминал MacOs.
@nbari я хочу добиться того, что показано в первом встроенном видео здесь: brendandawes.com/blog/fzf
Я предполагаю, что что-то перезаписало ваше сопоставление ctrl-t. введите :call fzf#vim#maps('n') и найдите '<C-T>. что ты видишь?
@ sudavid4 не работает, эта строка, введенная в терминал Mac, дает мне эту ошибку: -bash: синтаксическая ошибка рядом с неожиданным токеном `('
не в терминале в vim!
@ sudavid4 ладно, извините. набрал в vim, получил этот E117: Unknown function: fzf#vim#maps
это странно ... а что с :FZF это определяется? у вас установлен fzf-vim? (если вы запустите :scriptnames, у вас есть запись fzf.vim?
@ sudavid4 нет, у меня не установлен fzf-vim, я просто пытаюсь использовать fzf для быстрого поиска и открытия файлов из командной строки, например, набирая open , затем нажимая CTRL-t и, когда в идеале появляется fzf, я нажмите Enter на нужном мне файле, и он откроется.
Я предлагаю вам установить fzf.vim, это решит вашу проблему. Если вы предпочитаете «делать это сами», то желаю удачи.





Если вы клонируете fzf из репозитория, он содержит файл с именем fzf/shell/key-bindings.zsh, который относится к
fzf-file-widget() {
LBUFFER = "${LBUFFER}${__fsel}"
local ret=$?
zle redisplay
typeset -f zle-line-init >/dev/null && zle-line-init
return $ret
}
zle -N fzf-file-widget
bindkey "^T" fzf-file-widget
сочетание клавиш Control-T. Обычно он поступает с вашего .zshrc.
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
который должен содержать его ссылку в .fzf.zsh:
source "$HOME/.fzf/shell/key-bindings.zsh"
Если ваша привязка клавиш не работает, ваша привязка клавиш может быть перезаписана вашим zshrc или не может быть вызвана вашим zshrc.
привет, я сделал в значительной степени то, что вы здесь описали, но все еще не смог заставить работать привязки клавиш. я использую zsh; установлен с помощью homebrew и запустил этот /usr/local/opt/fzf/install, который побудил меня установить привязки клавиш и добавил эти строки в мой .zshrc. ** TAB работает, однако. не могли бы вы оказать помощь в устранении неполадок?
Мне удалось заставить комбинацию клавиш CTRL-t работать должным образом. Был один шаг, который я пропустил.
После установки полезных сочетаний клавиш и нечеткого завершения с помощью /usr/local/opt/fzf/install, я обновил fzf.bash вручную с помощью [ -f ~/.fzf.bash ] && source ~/.fzf.bash. После перезапуска Терминала он теперь работает.
Обновлено: Кроме того, эту строку необходимо добавить в ваш .bash_profile или .bashrc: source ~/.fzf.bash.
Я заметил, что CTRL-T не работает (в bash), когда у меня включен "режим vi" с помощью set -o vi.
В моем случае
ctrl+tразделяет текущее окно иfzfзапускается в панелиtmux, это то, что вам нужно?