4

在结束时/usr/share/fish/config.fish,我有以下命令:

bind \e\[1\;5C forward-word
bind \e\[1\;5D backward-word
echo foo

之后我运行鱼,它打印“foo”。然后我运行bind打印所有绑定键组合的列表,但是在bind.

我错过了什么?

4

2 回答 2

11

编辑: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中重置。

于 2013-05-21T16:35:36.190 回答
6

只需将这个函数fish_user_key_bindings放在你的命名中config.fish

function fish_user_key_bindings
  bind \e\[1\;5C forward-word
  bind \e\[1\;5D backward-word
end
于 2013-06-09T18:22:37.957 回答