Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/shell/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Shell Ctrl-F不再适用于接受建议。为什么?_Shell_Fish - Fatal编程技术网

Shell Ctrl-F不再适用于接受建议。为什么?

Shell Ctrl-F不再适用于接受建议。为什么?,shell,fish,Shell,Fish,我最近通过在配置中添加fish_Vi_mode启用了Vi模式。由于我这样做了,Ctrl+F不再适用于完成建议,因此我必须使用右箭头 forward char的键绑定与启用或不启用fish_vi_模式的键绑定相同。根据fish\u config,它们是: forward-char Right Arrow forward-char Right Arrow forward-char CTRL - f 为什么Ctrl+F不能在启用fish\u vi\u模式时工作?在vi模式下,运行b

我最近通过在配置中添加
fish_Vi_mode
启用了Vi模式。由于我这样做了,Ctrl+F不再适用于完成建议,因此我必须使用右箭头

forward char
的键绑定与启用或不启用
fish_vi_模式
的键绑定相同。根据
fish\u config
,它们是:

forward-char    Right Arrow
forward-char    Right Arrow
forward-char    CTRL - f

为什么Ctrl+F不能在启用
fish\u vi\u模式时工作?

在vi模式下,运行
bind
并查找
\cf
,它在这里:

bind -M insert \cf forward-word
事情就是这样的:control-F前进了一个单词。您可以恢复非vi行为:

bind -M insert \cf forward-char
这意味着向前移动一个字符,或者如果光标位于末尾,则接受自动提示(这当然有点奇怪)

或者,如果您希望它只接受自动建议,您可以在
fish_vi_模式
后运行此命令:

bind -M insert \cf accept-autosuggestion
现在,它在任何时候都接受自动建议,而不仅仅是在最后

顺便说一句,这些函数如
accept autosuggestion
forward char
可以通过
bind--function names

编辑:这比预期的要难。最简单的方法是在
fish\u user\u key\u bindings
函数中调用
fish\u vi\u mode

function fish_user_key_bindings
    fish_vi_mode
    bind -M insert \cf accept-autosuggestion
    bind \cf accept-autosuggestion
end

您可以使用
funced fish\u user\u key\u绑定
编写该函数,然后使用
funcsave fish\u user\u key\u绑定
保存该函数。

感谢您的回复。但是将
bind
行添加到我的配置中没有任何影响。我在
fish_vi_模式
行之后添加了它。我做错了什么?也许你在两次运行fish_vi_模式?运行
bind
-是否存在新的accept autosuggestion绑定?如果仅在命令行上运行
bind-M insert\cf accept autosuggestion
,会发生什么情况?当我仅将其添加到配置文件时,它不存在。如果我手动运行
bind
,它就会工作。我的配置是这样的:我是否需要取消所有的fish会话,或者打开一个新的终端就足够了?呃,好吧,这比它应该做的要难。我用我认为最好的方法编辑了我的回复。这很有效。非常感谢你的帮助。关于鱼的伟大作品:)