Как заставить рыбу постоянно сохранять новые привязки клавиш после закрытия окна терминала?

Как я могу заставить рыбу постоянно сохранять новые привязки клавиш после закрытия окна терминала?

В настоящий момент у меня возникает проблема:

  • Я открываю окно терминала, оболочкой по умолчанию является рыба.
  • Я добавляю привязку клавиш с помощью: bind \ eg functionname
  • Он работает в окне терминала
  • Теперь я закрываю окно терминала
  • Откройте новый терминал окно, снова fish - оболочка по умолчанию
  • Привязка больше не работает и не отображается в выходных данных fish -a
3
задан 5 January 2011 в 01:25

2 ответа

Вы можете добавить привязки в файлы инициализации:

/usr/share/fish/config.fish
/etc/fish/config.fish
~/.config/fish/config.fish

Например, вы можете добавить следующую функцию:

function __fish_less
       commandline -i -- "|less"
end

bind \ey __fish_less

Пример:

[ 112] https://github.com/zmalltalker/fish-nuggets/blob/master/config.fish

РЕДАКТИРОВАТЬ:

Из раковины рыбы документация :

Файлы инициализации При запуске fish анализирует файлы /usr/share/fish/config.fish (или / usr / local / fish ... если вы установили fish в / usr / local), /etc/fish/config.fish (или ~ / etc / fish / ..., если вы установили fish в вашем домашнем каталоге) и ~ / .config / fish / config.fish (или любой другой каталог, указанный в переменной $ XDG_CONFIG_HOME), в этом порядке. Первый файл не должен редактироваться напрямую, второй предназначен для общесистемной конфигурации, а последний - для пользовательской конфигурации. Если вы хотите выполнить команду только при запуске интерактивной оболочки, используйте статус завершения команды 'status --is-interactive', чтобы определить, является ли оболочка интерактивной. Если вы хотите выполнить команду только при использовании оболочки входа в систему, используйте вместо нее «status --is-login».

Примеры:

Если вы хотите добавить каталог ~ / linux / bin в переменную PATH при использовании оболочки входа, добавьте следующее в ваш файл ~ / .config / fish / config.fish:

если статус --is-login установлен PATH $ PATH ~ / linux / bin end

Если вы хотите запускать набор команд при выходе из рыбы, используйте обработчик событий, который вызывается командой выход из оболочки:

функция on_exit --on-process% self echo fish теперь завершается

Универсальные переменные хранятся в файле .config / fish / fishd.HOSTNAME, где HOSTNAME - это имя вашего компьютера. Не редактируйте этот файл напрямую, редактируйте его с помощью скриптов fish или интерактивного использования fish.

Итак, вы должны отредактировать ~ / .config / fish / config.fish, выйти из системы (или повторно получить исходный код config.fish) и, наконец, у вас должны быть ваши «пользовательские привязки».

Я любезно советую вам прочитать всю документацию и немного поиграть с оболочкой, ничего из того, что я здесь написал, не взято из документа.

Затем, если это не работает, вернитесь сюда с журналами (когда это возможно), файлами конфигурации, отладкой и т. Д.

0
ответ дан 5 January 2011 в 01:25

Согласно этому вопросу кажется, что вам нужно отредактировать / создать файл ~/.config/fish/functions/fish_user_key_bindings.fish и, например, для положить там что-то вроде:

function my_func
  echo hello
end

function fish_user_key_bindings
  bind \eg my_func
end
0
ответ дан 5 January 2011 в 01:25

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

Похожие вопросы: