fish shell: ctrl-p 无效,但向上箭头有效
fish shell: ctrl-p is not working but ARROW UP is
我最近安装了各种 fisher 插件并更新到 fish 3.4.1,现在“ctrl-p”不再循环执行我的命令,但 ARROW UP 仍然有效。当我切换到 bash shell 时,ctrl-p 正在工作。我在 gnome 终端和 kitty 终端中观察到相同的行为。我不知道问题出在哪里,如果有人能帮助我,我将不胜感激,在此先感谢!
您的插件之一似乎反弹了 ctrl-p。
一般来说,要找出键序列绑定到什么,您需要:
- 通过启动
fish_key_reader
并按下它来找出键序列是什么
- 传递给
bind
所以,你 运行 fish_key_reader
,它告诉你:
bind \cP 'do something'
这意味着 ctrl-p 发送 \cP
.
所以,我们问 \cP
绑定到什么:
bind \cP
默认情况下给我们
bind --preset \cp up-or-search
(是的,在 \c
之后大小写确实无关紧要,因为 \cp
和 \cP
编码相同)。
如果你绑定了不同的东西,它可能会打印多行,比如
bind --preset \cp up-or-search
bind \cp 'echo oops'
这里还可能发生的是您的一个插件启用了 vi-mode(即使您认为完全不相关的事情也可能发生,例如至少 one semi-popular prompt 认为它有权启用它)。
那样的话,bind \cP
什么都不输出,你也可以问bind -M insert \cP
问问ctrl-p在插入模式下绑定的是什么
要禁用 vi-mode 并返回默认的 emacs-inspired 绑定(ctrl-p 的绑定起源),运行 fish_default_key_bindings
.
我最近安装了各种 fisher 插件并更新到 fish 3.4.1,现在“ctrl-p”不再循环执行我的命令,但 ARROW UP 仍然有效。当我切换到 bash shell 时,ctrl-p 正在工作。我在 gnome 终端和 kitty 终端中观察到相同的行为。我不知道问题出在哪里,如果有人能帮助我,我将不胜感激,在此先感谢!
您的插件之一似乎反弹了 ctrl-p。
一般来说,要找出键序列绑定到什么,您需要:
- 通过启动
fish_key_reader
并按下它来找出键序列是什么 - 传递给
bind
所以,你 运行 fish_key_reader
,它告诉你:
bind \cP 'do something'
这意味着 ctrl-p 发送 \cP
.
所以,我们问 \cP
绑定到什么:
bind \cP
默认情况下给我们
bind --preset \cp up-or-search
(是的,在 \c
之后大小写确实无关紧要,因为 \cp
和 \cP
编码相同)。
如果你绑定了不同的东西,它可能会打印多行,比如
bind --preset \cp up-or-search
bind \cp 'echo oops'
这里还可能发生的是您的一个插件启用了 vi-mode(即使您认为完全不相关的事情也可能发生,例如至少 one semi-popular prompt 认为它有权启用它)。
那样的话,bind \cP
什么都不输出,你也可以问bind -M insert \cP
问问ctrl-p在插入模式下绑定的是什么
要禁用 vi-mode 并返回默认的 emacs-inspired 绑定(ctrl-p 的绑定起源),运行 fish_default_key_bindings
.