fish control-левый control-правая привязка клавиш

Я использую terminator вместе с fish, и я хочу использовать Alt-Left etc для навигации по terminator и Ctrl-Left и Ctrl-right для перемещения курсора по слову. Проблема в том, когда я делаю

bind cleft backward-word

это не изменяет поведение Ctrl-влево или вправо. Это, кажется, следовать тому, что документация, и я вытащил ключ и команду из-K и-F флаги и

bind -a

показывает, что привязка существует.

я использовал ту же команду для других последовательности, но я не могу заставить это работать. Я что-то пропустила?

10
задан Isaac Gomez
25.04.2023 17:44 Количество просмотров материала 3070
Распечатать страницу

5 ответов

Я установил его на моем конце. Это идет в config:

bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word

"source" его, выполнив:

. .config/fish/config.fish

(". является источником в рыбе)

надеюсь, что это поможет вам!

4
отвечен eggonlegs 2023-04-27 01:32

тип bind \cleft backward-word в командной строке fish должны выполнить эту работу. Если вы хотите, чтобы он выполнялся при каждом запуске, поставьте:

function fish_user_key_bindings
    bind \cleft backward-word
end

in .config/fish/config.fish

С рыба связать документации

комбинации клавиш не сохраняются между сеансами по умолчанию. Голые операторы bind в конфигурации.fish не будет иметь никакого эффекта, потому что он получен до установки Привязок клавиш по умолчанию. Чтобы сохранить пользовательские сочетания клавиш, поместите инструкции bind в функцию называется fish_user_key_bindings, который будет подгружаться.

3
отвечен Antoine Gallix 2023-04-27 03:49

принятый ответ почти сработал, но я обнаружил, что не могу сделать автоматическую привязку ключей через config.рыбный файл. Я эндап изменить fish_vi_key_bindings.рыба (которая в /usr/доли/рыба/функции) напрямую.

кроме того, просто добавив ctrl-left и ctrl-right в нормальный режим при VI keybind недостаточно, нужно также добавить insert и visual mode.

bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
bind -M insert \e\[1\;5C forward-word
bind -M insert \e\[1\;5D backward-word
bind -M visual \e\[1\;5C forward-word
bind -M visual \e\[1\;5D backward-word

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

1
отвечен Alsan 2023-04-27 06:06

в "~/.файл" для рыбы в ~/.конфиг/рыба/конфиг.рыбу (если она не существует, создайте ее). Чтобы запустить его при входе в систему, поместите это в конфигурацию.рыба файл:

if status --is-login
 bind \e\[1\;5C forward-word
 bind \e\[1\;5D backward-word
end
0
отвечен Steve Ross 2023-04-27 08:23

Первое, что следует отметить, что ctrl+налево-стрелка не имеет никакого смысла и не может быть сделано в любой оболочке. Вот ведь ctrl ключ фактически не посылает никакие характеры собой (если вы не будете делать что-то очень необыкновенное к вашей терминальной конфигурации). Какой ключ делает это изменение в следующем письме, то есть пресс. Например, ctrl+a заставляет терминал отправлять однобайтовое шестнадцатеричное значение 0x01. Так как ключи такие как стрелка влево обычно посылает последовательность символов, начинающуюся с esc символ, а escape уже является управляющим символом, применение модификатора control к нему ничего не делает.

как вы нашли обычный способ сделать это-использовать alt. Если вы настроили свой терминал, чтобы рассматривать это как" мета " ключ, который префиксы все, что следует с escape-символа вы можете нажать alt+page-up иметь терминал отправить \e\e[5~. Если вы строите рыбу из git источников, вы получите удобную программу с именем fish_key_reader то делает учить что различные ключи посылают очень легкую. Это будет в выпуске fish 2.3.1, который должен быть доступен через пару недель.

наконец, пользовательские привязки клавиш должны быть в вашем личном конфигурационном файле, а не в глобальном /usr/share/fish/functions/fish_default_key_bindings.fish сценарий. Вы должны создать файл с именем $HOME/.config/fish/functions/fish_user_key_bindings.fish следующего содержания:

function fish_user_key_bindings
    bind \e\[1\;5C forward-word
    bind \e\[1\;5D backward-word
end
0
отвечен Kurtis Rader 2023-04-27 10:40

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх