Как решить проблему привязки клавиши CTRL-t для fzf?

Недавно я нашел этот инструмент командной строки под названием fzf. Я установил его по инструкции, и он работает, за исключением привязки клавиш CTRL-T. Несмотря на то, что я установил специальный материал с привязками клавиш в соответствии с их инструкциями, я также попытался установить fzf, загруженный из репозитория git, а не через homebrew, все привязки клавиш CTRL-T по-прежнему меняют последние два символы.

Я нашел обсуждение этого вопроса в это, но ни один из предложенных ответов не помог мне.

edit: вы можете увидеть это в первом видео здесь, чего я хочу достичь. изменить 2: я использую терминал MacOs.

В моем случае ctrl+t разделяет текущее окно и fzf запускается в панели tmux, это то, что вам нужно?

nbari 10.03.2018 10:29

@nbari я хочу добиться того, что показано в первом встроенном видео здесь: brendandawes.com/blog/fzf

samuset 10.03.2018 12:43

Я предполагаю, что что-то перезаписало ваше сопоставление ctrl-t. введите :call fzf#vim#maps('n') и найдите '<C-T>. что ты видишь?

sudavid4 11.03.2018 19:23

@ sudavid4 не работает, эта строка, введенная в терминал Mac, дает мне эту ошибку: -bash: синтаксическая ошибка рядом с неожиданным токеном `('

samuset 11.03.2018 23:15

не в терминале в vim!

sudavid4 12.03.2018 09:24

@ sudavid4 ладно, извините. набрал в vim, получил этот E117: Unknown function: fzf#vim#maps

samuset 12.03.2018 13:08

это странно ... а что с :FZF это определяется? у вас установлен fzf-vim? (если вы запустите :scriptnames, у вас есть запись fzf.vim?

sudavid4 13.03.2018 11:55

@ sudavid4 нет, у меня не установлен fzf-vim, я просто пытаюсь использовать fzf для быстрого поиска и открытия файлов из командной строки, например, набирая open , затем нажимая CTRL-t и, когда в идеале появляется fzf, я нажмите Enter на нужном мне файле, и он откроется.

samuset 13.03.2018 12:22

Я предлагаю вам установить fzf.vim, это решит вашу проблему. Если вы предпочитаете «делать это сами», то желаю удачи.

sudavid4 13.03.2018 14:08
Стоит ли изучать PHP в 2026-2027 годах?
Стоит ли изучать PHP в 2026-2027 годах?
Привет всем, сегодня я хочу высказать свои соображения по поводу вопроса, который я уже много раз получал в своем сообществе: "Стоит ли изучать PHP в...
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
Поведение ключевого слова "this" в стрелочной функции в сравнении с нормальной функцией
В JavaScript одним из самых запутанных понятий является поведение ключевого слова "this" в стрелочной и обычной функциях.
Приемы CSS-макетирования - floats и Flexbox
Приемы CSS-макетирования - floats и Flexbox
Здравствуйте, друзья-студенты! Готовы совершенствовать свои навыки веб-дизайна? Сегодня в нашем путешествии мы рассмотрим приемы CSS-верстки - в...
Тестирование функциональных ngrx-эффектов в Angular 16 с помощью Jest
В системе управления состояниями ngrx, совместимой с Angular 16, появились функциональные эффекты. Это здорово и делает код определенно легче для...
Концепция локализации и ее применение в приложениях React ⚡️
Концепция локализации и ее применение в приложениях React ⚡️
Локализация - это процесс адаптации приложения к различным языкам и культурным требованиям. Это позволяет пользователям получить опыт, соответствующий...
Пользовательский скаляр GraphQL
Пользовательский скаляр GraphQL
Листовые узлы системы типов GraphQL называются скалярами. Достигнув скалярного типа, невозможно спуститься дальше по иерархии типов. Скалярный тип...
3
9
5 057
3

Ответы 3

Если вы клонируете 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 работает, однако. не могли бы вы оказать помощь в устранении неполадок?

Spencer Trinh 15.01.2020 05:48

Мне удалось заставить комбинацию клавиш 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.

Другие вопросы по теме