【问题标题】:Edit currently inserted text but otherwise auto-exit Vim insert mode编辑当前插入的文本,否则自动退出 Vim 插入模式
【发布时间】:2013-11-02 21:53:00
【问题描述】:

this启发的问题回答:

有没有办法配置 vim 以便在 插入模式 将光标移到当前编辑区域之外(光标键、ctrl-o 前缀等)将返回到普通模式,但只是编辑当前插入的文本会保持插入模式?

怎么做?

另外,如何防止光标在插入模式下离开当前插入的文本,首先需要Esc


一些需要澄清的例子:

ibsr<left><bs>a<right>

保持插入模式,但是

ibar<up>
iba<left><left><left>
iba<right>

将全部恢复正常模式。

【问题讨论】:

    标签: vim


    【解决方案1】:

    没有快速简便的内置配置;最接近的是默认(空)值'backspace',它不允许在当前插入之外使用&lt;BS&gt;&lt;Del&gt;&lt;C-W&gt;&lt;C-U&gt;

    也就是说,没有什么能阻止您编写自定义插件。它必须:inoremap &lt;expr&gt; 所有移动键(如&lt;Left&gt;&lt;Up&gt; 等)并测试离开当前行的光标/您认为当前编辑的任何内容(不幸的是,'[ 和@987654330 @ 标记仅在离开插入模式后设置),然后返回原始键,有条件地后跟&lt;Esc&gt;

    可行,但相当复杂。 你真的需要编辑器给你那些训练轮子吗?编辑时的一点自我约束和反思应该已经教会你“正确”地使用 Vim。

    【讨论】:

    • 好吧,听起来不值得。我只是希望有一个简单的方法(因为整个“远离 vim 插入模式”派系)。这也将有效地解决我对 vim 的一个小毛病,没有办法只 insert 使用两个按键(而不是目前需要三个)的单个字符。哦,好吧。
    • 要插入单个字符,试试这个:nnoremap &lt;Space&gt; i$&lt;Esc&gt;r
    猜你喜欢
    • 2023-03-28
    • 1970-01-01
    • 1970-01-01
    • 2011-04-29
    • 1970-01-01
    • 2019-03-02
    • 2014-04-29
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多