在结束时/usr/share/fish/config.fish
,我有以下命令:
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
echo foo
之后我运行鱼,它打印“foo”。然后我运行bind
打印所有绑定键组合的列表,但是在bind
.
我错过了什么?
编辑:fish 3.0+ 允许您在启动期间在您的config.fish
或配置片段 ( conf.d/*.fish
) 中创建键绑定。见鱼壳/拉/5195
由于这些键绑定已经在fish_default_key_bindings中定义,我猜问题出在您的终端模拟器上,并且它没有发送正确的转义序列。
您也不应该编辑全局配置/usr/share/fish/config.fish
。您的自定义配置进入~/.config/fish/config.fish
如果要指定自定义键绑定,则应在函数内部完成fish_user_key_bindings
。
您可以通过编辑手动执行此操作:~/.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
funcsave fish_user_key_bindings
或者,如果您已经拥有该功能:
funced fish_user_key_bindings
funcsave fish_user_key_bindings
您无法在配置中指定这些的原因是它们稍后会在 fish_default_key_bindings中重置。
只需将这个函数fish_user_key_bindings
放在你的命名中config.fish
function fish_user_key_bindings
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
end