Привязать Shift-Tab к полной-назад в рыбе

14

Я обнаружил, что использую автозаполнение функциональности fish-shell, где нажатие клавиши tab дважды или более циклически переключает предложения. Но затем я случайно нажал клавишу табуляции один раз для многих, и я хотел вернуться к предыдущему предложению, поэтому я нажал shift-tab, который добавлялся только [zк команде.

Например, когда я печатаю cd Dtabtab:

~> cd Desktop/

Жму tab, результат:

~> cd Documents/

Теперь, когда я нажимаю <shift+tab>, приглашение меняется ~> cd Documents/[Zвместо того, чтобы вернуться к желаемому:

~> cd Desktop/

Как мне это сделать (желательно с помощью fish_user_key_bindings.fishфайла)? Документация предоставляет только специальную функцию complete.

Себастьян
источник
Разве нет "отменить" или что-нибудь?
Джош Стивенсон

Ответы:

1
  • Как вы сказали "Документация обеспечивает только специальную функцию завершения". Вы не можете вернуться к предложению предварительного просмотра, потому что эта функция не реализована.

  • но для определения новой привязки вы должны использовать функцию fish_user_key_binding, а НЕ файл .fish: откройте файл конфигурации ~/.config/fish/config.fish

и добавить :

function fish_user_key_bindings
        bind [Z complete
        end
  • перезагрузите рыбу, это хорошо сдвинуть Shift + вкладка для завершения
Ахед Ид
источник
Мне не нужна еще одна привязка клавиш, мне нужна привязка клавиш, чтобы вернуться к предыдущему предложению. Я думаю, вы правы, и это просто не реализовано ...
Себастьян
-2

Попробуйте вместо этого использовать zsh.

Точные детали его автозаполнения, конечно, настраиваются в соответствии с вашими личными вкусами, но способ, которым я его настроил, - если я нажму Tabдва раза, я получу «меню», в котором я могу перемещаться с помощью Tabклавиши или клавиш со стрелками, например:

ZSH Завершение

После того, как я выбрал нужную запись, я могу нажать Enter, чтобы сообщить zsh, что это то, что я хочу, или я могу просто продолжить ввод, и zsh примет это правильно.

Николас О'Коннор
источник