Инструменты пользователя

Инструменты сайта


soft:fish:nastrojka_privjazki_klavish

Настройка привязки клавиш

Введение

Для привязки клавиш к командам в оболочке fish существует команда bind. Однако, все сделанные ей изменения сохраняются только в текущем сеансе.

За установку привязок отвечает переменная сервиса fishd - fish_key_bindings. В качестве её значения указывается функция установки привязок. По-умолчанию вызывается fish_key_bindings, которая и затирает установленные вручную привязки в новых сеансах.

Решение

Для примера, закрепим функции перехода через слова за сочетаниями Control+Left, Control+Right.

> funced my_key_bindings
my_key_bindings> function my_key_bindings
                 end

Теперь между строками function и end вводим три нижеприведённые строчки, чтобы получилось следующее (перевод строки - Alt+Enter):

my_key_bindings> function my_key_bindings
                     fish_default_key_bindings
                     bind '[1;5D' backward-word
                     bind '[1;5C' forward-word
                 end

Закрываем редактор функции (Enter), сохраняем функцию:

> funcsave my_key_bindings

Теперь надо установить данную функцию как параметр fish_key_bindings:

> set fish_key_bindings my_key_bindings

Проверяем, всё должно работать. При изменении функции устанавливать заново параметр fish_key_bindings не надо, сервис fishd выполнит её для всех сеансов сразу после обновления.

P.S. Кто себя чувствует уверенно, может исправить непосредственно функцию fish_default_key_bindinds. P.P.S. Если при правке fish_default_key_bindinds что-то у вас не срослось, удалите файл ~/.config/fish/functions/fish_default_key_bidings.

Дискуссия

Enter your comment
 
soft/fish/nastrojka_privjazki_klavish.txt · Последние изменения: 16.11.2009 20:26 (внешнее изменение)

Инструменты страницы