Ctrl Right和Ctrl Left不会在Fish Shell中从一个单词移动到另一个单词

时间:2017-03-13 08:26:17

标签: linux shell fish

当我在Linux Mint上使用Fish Shell时,使用 Ctrl + Left 或Ctrl + Right键不会将光标移动到上一个或下一个单词。它在IN之间切换:

这是我,然后是N:

Here is the I and then the N

我当时不能完成部分完成,所以真的很无聊。

我该如何解决这个问题?

1 个答案:

答案 0 :(得分:1)

格伦杰克曼的评论是正确的 - 你正在使用vi模式。

某些第三方提示(例如来自Oh-My-Fish或类似提示)由于某种原因启用它。

要切换回去,一旦删除了有问题的行或包(搜索fish_default_key_bindings),通常以交互方式执行fish_vi_key_bindings就足够了。

或者,如果你喜欢vi-mode,你可以添加一个绑定。创建一个名为fish_user_key_bindings的函数(例如,使用funced)。

内容应如下所示

function fish_user_key_bindings
    bind -M $mode $sequence $command
end

其中" $ command"这将是"落后词"。 $ mode将是您希望绑定有效的vi模式,例如"插入"或"默认" (vi会调用"正常"模式)。

" $序列"将是按下此组合键时终端发送给fish的文本序列。不幸的是,它们没有标准化,因此您需要确定它在您的系统中的位置。

fish_key_reader在这里很有用 - 执行它,按下组合并使用它告诉你的内容。在我的终端上,ctrl + left发送\e\[1\;5D(和ctrl +右发送相同的C而不是D)。