在/usr/share/fish/config.fish
结束时,我有以下命令:
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
echo foo
之后我跑鱼,打印“foo”。然后我运行bind
打印所有绑定密钥组合的列表,但bind
的输出中没有“前向字”和“后向字”条目。
我错过了什么吗?
答案 0 :(得分:12)
编辑:fish 3.0+允许您在config.fish
或配置片段(conf.d/*.fish
)内启动时创建键绑定。见fish-shell/pull/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
您无法在配置中指定这些内容的原因是它们稍后会重置here inside fish_default_key_bindings。
答案 1 :(得分:5)
只需将这个名为fish_user_key_bindings
的函数放在config.fish
function fish_user_key_bindings
bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
end