【问题标题】:Fish vi-mode bind Ctrl-o to quick command in insert modeFish vi-mode 在插入模式下将 Ctrl-o 绑定到快速命令
【发布时间】:2019-06-08 07:51:26
【问题描述】:

我是 fish shell 和 vim 自定义键绑定的新手。我已将 fish 置于 vi 模式,并且我注意到缺少一些命令,例如插入模式下的 Ctrl-o 以执行正常命令。有谁知道如何添加这个键绑定?

我已成功添加了以下内容:

inoremap jk <ESC>

与:

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

但我不知道如何等待命令然后返回插入模式。提前致谢。

【问题讨论】:

    标签: vi key-bindings fish


    【解决方案1】:

    首先:

    bind -M insert jk '设置fish_bind_mode默认值;命令行 -f 重绘'

    也可以

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

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


    在正常模式下运行一个命令很棘手。因为你必须在一个绑定执行后运行代码,所以你必须触及所有的绑定。

    一种可能性是通过

    创建一个新的“default-one”模式
    bind -M insert -m default-one \co 'commandline -f repaint'
    

    然后您必须复制“默认”模式的所有绑定(通过bind -M default 查看它们)以添加-m insert。我不确定如何处理那些已经切换到不同模式的东西,比如“v”(切换到视觉模式)。

    【讨论】:

    • 很抱歉这么晚才评论它。 2 周前,您的答案部分有效,它有时会破坏当前命令,直到我按 Ctrl-c 并重新输入它。但是今天由于某种原因它似乎很好用,所以我选择你作为最佳答案。
    • 我不会使用 Ctrl-o 技巧,因为结果太乏味,我不喜欢过于复杂的配置。感谢您仍然分享它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-12-04
    相关资源
    最近更新 更多