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

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


soft:fish:nastrojka_privjazki_klavish

====== Настройка привязки клавиш ====== ===== Введение ===== Для привязки клавиш к командам в оболочке **fish** существует команда //**bind**//. Однако, все сделанные ей изменения сохраняются только в текущем сеансе. За установку привязок отвечает переменная сервиса **fishd** - //**fish_key_bindings**//. В качестве её значения указывается функция установки привязок. По-умолчанию вызывается //fish_key_bindings//, которая и затирает установленные вручную привязки в новых сеансах. ===== Решение ===== Для примера, закрепим функции перехода через слова за сочетаниями Control+Left, Control+Right. <code console> > funced my_key_bindings my_key_bindings> function my_key_bindings end </code> Теперь между строками //function// и //end// вводим три нижеприведённые строчки, чтобы получилось следующее (перевод строки - Alt+Enter): <code console> my_key_bindings> function my_key_bindings fish_default_key_bindings bind '[1;5D' backward-word bind '[1;5C' forward-word end </code> Закрываем редактор функции (Enter), сохраняем функцию: <code console> > funcsave my_key_bindings </code> Теперь надо установить данную функцию как параметр **fish_key_bindings**: <code console> > set fish_key_bindings my_key_bindings </code> Проверяем, всё должно работать. При изменении функции устанавливать заново параметр **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 17:26 (внешнее изменение)

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