gpt4 book ai didi

shell - 如何在 fish shell 中将转义插入模式重新映射到 'jk'?

转载 作者:行者123 更新时间:2023-12-04 14:54:31 25 4
gpt4 key购买 nike

我在 vim 中使用 jk 作为我的转义序列,在 bash 和 zshell 中使用 vi-mode。我如何在 fish shell 中做到这一点?

即在vim中:

inoremap jk <esc>

bash :
bind -m vi-insert '"jk": vi-movement-mode'

zsh
bindkey -M viins 'jk' vi-cmd-mode

fish shell 当量是多少?

最佳答案

我假设你已经通过执行 fish_vi_key_bindings 启用了 vi 模式。 .否则这个问题没有意义:-)

创建一个名为 ~/.config/fish/functions/fish_user_key_bindings.fish 的文件,其中包含以下内容:

function fish_user_key_bindings
bind -M insert jk "if commandline -P; commandline -f cancel; else; set fish_bind_mode default; commandline -f backward-char force-repaint; end"
end

您可以运行 bind交互方式,但除非您创建自动加载的功能,否则它不会在新的 fish session 中持续存在。此外,如果您在 vi 和 emacs 绑定(bind)之间切换,您需要保护该绑定(bind),因此它仅适用于 vi 模式:
if test "$__fish_active_key_bindings" = "fish_vi_key_bindings"
bind ....
end

关于shell - 如何在 fish shell 中将转义插入模式重新映射到 'jk'?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/48956984/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com