我正在使用Codemirror。我的代码不使用 ES6 模块。我想知道 如何获取
Vim
对象?在 Codemirror Vim 自述文件中,我们看到:
import {Vim, getCM} from "@replit/codemirror-vim"
let cm = getCM(view)
// use cm to access the old cm5 api
Vim.exitInsertMode(cm)
Vim.handleKey(cm, "<Esc>")
Vim.map("jj", "<Esc>", "insert"); // in insert mode
Vim.map("Y", "y$"); // in normal mode
(我对
.map
特别感兴趣)。然而,如果在 <script type="module">...</script>
中使用,这会产生错误
由于 @replit
位,在 HTML 文件中。如何在 HTML 中的 <script>
中获取 Vim 对象?
我通过以下方式获取 Codemirror
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.62.0/codemirror.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.62.0/mode/markdown/markdown.min.js"></script>
<script src="https://cdnjs.cloudflare.com/ajax/libs/codemirror/5.62.0/keymap/vim.min.js"></script>
令人尴尬的是,我在发布问题后不久就找到了答案。
我们可以简单地做,例如,
CodeMirror.Vim.map("jk","<Esc>","insert")
因此 Vim 对象出现在 CodeMirror 对象内部。