Fish vi-mode 将 Ctrl-o 绑定到插入模式下的快速命令
Fish vi-mode bind Ctrl-o to quick command in insert mode
我是 fish shell 和 vim 自定义键绑定的新手。我已将 fish 置于 vi 模式,我注意到缺少一些命令,例如插入模式下的 Ctrl-o 以执行普通命令。有谁知道如何添加这个键绑定?
我已经成功添加了相当于:
inoremap jk <ESC>
与:
bind -M insert jk 'set fish_bind_mode default; commandline -f repaint'
但我不知道如何等待命令然后返回插入模式。提前致谢。
首先:
bind -M insert jk 'set fish_bind_mode default; commandline -f repaint'
也可以只是
bind -M insert -m default jk 'commandline -f repaint'
(“-m”是“--sets-mode”的缩写,我不确定为什么它不会自己重绘)
运行 普通模式下的一个命令很棘手。因为您必须在执行一个绑定后 运行 编码,所以您将不得不接触所有绑定。
一种可能性是创建一个新的 "default-one" 模式,通过
bind -M insert -m default-one \co 'commandline -f repaint'
然后您必须复制 "default" 模式的所有绑定(通过 bind -M default
查看它们)以添加 -m insert
。我不确定如何处理那些已经切换到不同模式的东西,比如 "v"(切换到视觉模式)。
我是 fish shell 和 vim 自定义键绑定的新手。我已将 fish 置于 vi 模式,我注意到缺少一些命令,例如插入模式下的 Ctrl-o 以执行普通命令。有谁知道如何添加这个键绑定?
我已经成功添加了相当于:
inoremap jk <ESC>
与:
bind -M insert jk 'set fish_bind_mode default; commandline -f repaint'
但我不知道如何等待命令然后返回插入模式。提前致谢。
首先:
bind -M insert jk 'set fish_bind_mode default; commandline -f repaint'
也可以只是
bind -M insert -m default jk 'commandline -f repaint'
(“-m”是“--sets-mode”的缩写,我不确定为什么它不会自己重绘)
运行 普通模式下的一个命令很棘手。因为您必须在执行一个绑定后 运行 编码,所以您将不得不接触所有绑定。
一种可能性是创建一个新的 "default-one" 模式,通过
bind -M insert -m default-one \co 'commandline -f repaint'
然后您必须复制 "default" 模式的所有绑定(通过 bind -M default
查看它们)以添加 -m insert
。我不确定如何处理那些已经切换到不同模式的东西,比如 "v"(切换到视觉模式)。