0

vim 中的通常行为是C-o在插入模式下允许用户使用一个正常模式命令,然后返回到插入模式。

按照此评论中的建议,我已设置

(vimpulse-imap "\C-o" 'viper-escape-to-vi)

但是当我在插入模式下按下时C-o,字符“^O”被插入到缓冲区中,我无法像我期望的那样为一个命令切换到正常模式。我知道默认情况下viper-escape-to-vi是绑定的C-z,但我也无法使用此组合键切换到正常模式(“^Z”打印在缓冲区中)。我究竟做错了什么?

另外,第二个问题:C-z当我将它用于 elscreen 时,我希望不受 viper 模式(或 vimpulse)的约束。我怎么能告诉它C-z独自离开?

编辑:在 vimpulse-misc-keybindings.el 中找到这段代码:

;; temporarily escape to vi state
(define-key viper-insert-basic-map "\C-o" 'viper-escape-to-vi)

那么应该已经定义了吗?不知道为什么它不起作用。

4

1 回答 1

1

广告 1)它对我有用,也许你的配置出了问题?

但是输出很奇怪:获得它的唯一方法是引用插入(或类似的)。

viper-escape-to-vi在插入状态绑定到viper-toggle-key(但默认为 Cz),所以见下文。你的输出再次很奇怪。

广告 2)您必须在加载 viper之前viper-toggle-key设置为 sexp ,或者自定义它。

对于前者(使用暂停键)

(setq viper-toggle-key [pause])
(require 'viper)

你应该尝试邪恶,成为 vimpulse 的继任者。它进展顺利,摆脱了毒蛇。

在那里设置切换键(再次暂停)是一个(evil-set-toggle-key "<pause>")离开,它是一个 kbd 序列而不是一个 sexp。合作也很好。

于 2011-08-27T16:28:48.187 回答