CodeMirror はすべてのキー バインド (および vim モードのキー マッピング) を処理するため、textarea
手元にあるエディター インスタンスを作成するだけで済みます。
静的メソッドCodeMirror.fromTextArea()
のセクションの下にあるドキュメントをチェックして、それがどのように行われたかを確認してください。
vim bindings demoを参照して、ソースを確認することもできます。これは、CodeMirror インスタンスがそこで初期化される方法です。
1 | CodeMirror.commands.save = function () {
2 | alert("Saving");
3 | };
4 |
5 | var editor = CodeMirror.fromTextArea(document.getElementById("code"), {
6 | lineNumbers: true,
7 | mode: "text/x-csrc",
8 | keyMap: "vim",
9 | showCursorWhenSelecting: true
10 | });
行番号に従って、これを分解しましょう。
エディター モードとキー バインドが機能するためには、必要なスクリプトを読み込む必要があるため、それらも含めたいと考えています。
<script src="../lib/codemirror.js"></script> <!-- main script -->
<script src="../addon/dialog/dialog.js"></script> <!-- addon for vim messages -->
<script src="../addon/search/searchcursor.js"></script> <!-- addon for vim messages -->
<script src="../mode/clike/clike.js"></script> <!-- mode for C-like languages -->
<script src="../keymap/vim.js"></script> <!-- key bindings for vim -->