代码之家  ›  专栏  ›  技术社区  ›  Harkan

fish vi模式将ctrl-o绑定到插入模式下的快速命令

  •  0
  • Harkan  · 技术社区  · 6 年前

    我是新的鱼壳和VIM自定义键绑定。我已经将fish设置为vi模式,并且注意到一些命令丢失了,比如在insert模式下使用ctrl-o来执行一个正常的命令。有人知道如何添加这个键绑定吗?

    我已经成功地添加了相当于:

    inoremap jk <ESC>

    用:

    bind -M insert jk 'set fish_bind_mode default; commandline -f repaint'

    但我不知道如何等待命令,然后返回到插入模式。事先谢谢。

    1 回复  |  直到 6 年前
        1
  •  1
  •   faho    6 年前

    首先:

    bind-m insert jk'set fish_bind_mode default;commandline-f repaint'

    也可能只是

    bind -M insert -m default jk 'commandline -f repaint'
    

    (“-m”是“-sets-mode”的缩写,我不知道为什么它自己不重新绘制)


    在正常模式下运行一个命令很困难。因为您必须在执行一个绑定之后运行代码,所以您必须接触所有绑定。

    一种可能是创建一个新的“默认一”模式,通过

    bind -M insert -m default-one \co 'commandline -f repaint'
    

    然后您将不得不为“默认”模式复制所有绑定(通过 bind -M default )添加 -m insert . 我不知道该怎么处理那些已经切换到不同模式的东西,比如“V”(切换到视觉模式)。