如何禁用 CodeMirror 中默认的插入键行为?

问题描述 投票:0回答:2

我正在使用 CodeMirror 进行代码编辑,当我按 INS(插入键)时,它的行为就像在任何普通文本编辑器中一样,在改写和插入模式之间切换,但我不希望这样。

我希望它像平常一样

<textarea>
,实际上没有任何改变。

我能以某种方式做到这一点吗?

javascript codemirror
2个回答
2
投票

我没有使用过CodeMirror,但是文档中有一个功能可以切换覆盖/正常插入模式 (https://codemirror.net/doc/manual.html#usage):

cm.toggleOverwrite(?value: boolean)
    Switches between overwrite and normal insert mode (when not given an argument), or sets the overwrite mode to a specific state (when given an argument).

您可以监听用户按下

insert
键并覆盖传递到该函数的值,以使其保持正常插入模式。


0
投票

为了扩展 @httpNick 的答案,此代码片段应重新映射 Insert 键以不切换覆盖(或者更确切地说,明确使其不覆盖)。

editor.setOption("extraKeys", {
    Insert: (cm) => {
        cm.toggleOverwrite(false);
    }
});

这是文档解释按键映射的地方:https://codemirror.net/5/doc/manual.html#keymaps

“Insert”键来自此键映射:https://codemirror.net/5/doc/manual.html#commands

最新问题
© www.soinside.com 2019 - 2024. All rights reserved.