/
usr
/
share
/
doc
/
libjs-codemirror
/
examples
/
/usr/share/doc/libjs-codemirror/examples
mkdir
upload
Name
Size
Mode
Actions
activeline.html
3343
0644
edit
dl
rm
anywordhint.html
2937
0644
edit
dl
rm
bidi.html
5000
0644
edit
dl
rm
btree.html
3008
0644
edit
dl
rm
buffers.html
3674
0644
edit
dl
rm
changemode.html
1825
0644
edit
dl
rm
closebrackets.html
1763
0644
edit
dl
rm
closetag.html
1619
0644
edit
dl
rm
complete.html
4504
0644
edit
dl
rm
emacs.html
2823
0644
edit
dl
rm
folding.html
6270
0644
edit
dl
rm
fullscreen.html
3617
0644
edit
dl
rm
hardwrap.html
2681
0644
edit
dl
rm
html5complete.html
2033
0644
edit
dl
rm
indentwrap.html
2687
0644
edit
dl
rm
loadmode.html
2362
0644
edit
dl
rm
marker.html
1563
0644
edit
dl
rm
markselection.html
1985
0644
edit
dl
rm
matchhighlighter.html
5007
0644
edit
dl
rm
matchtags.html
1512
0644
edit
dl
rm
multiplex.html
2303
0644
edit
dl
rm
mustache.html
2233
0644
edit
dl
rm
panel.html
3654
0644
edit
dl
rm
placeholder.html
1586
0644
edit
dl
rm
preview.html
2601
0644
edit
dl
rm
requirejs.html
2328
0644
edit
dl
rm
resize.html
1437
0644
edit
dl
rm
rulers.html
1483
0644
edit
dl
rm
runmode-standalone.html
2356
0644
edit
dl
rm
runmode.html
2420
0644
edit
dl
rm
search.html
5010
0644
edit
dl
rm
simplemode.html
8332
0644
edit
dl
rm
simplescrollbars.html
5227
0644
edit
dl
rm
spanaffectswrapping_shim.html
3073
0644
edit
dl
rm
sublime.html
3311
0644
edit
dl
rm
theme.html
7680
0644
edit
dl
rm
trailingspace.html
1646
0644
edit
dl
rm
variableheight.html
2175
0644
edit
dl
rm
vim.html
4428
0644
edit
dl
rm
visibletabs.html
1940
0644
edit
dl
rm
xmlcomplete.html
3872
0644
edit
dl
rm
Edit:
/usr/share/doc/libjs-codemirror/examples/vim.html
(4428B)
<!doctype html> <title>CodeMirror: Vim bindings demo</title> <meta charset="utf-8"/> <link rel=stylesheet href="../html/docs.css"> <link rel="stylesheet" href="/usr/share/javascript/codemirror/lib/codemirror.css"> <link rel="stylesheet" href="/usr/share/javascript/codemirror/addon/dialog/dialog.css"> <script src="/usr/share/javascript/codemirror/lib/codemirror.js"></script> <script src="/usr/share/javascript/codemirror/addon/dialog/dialog.js"></script> <script src="/usr/share/javascript/codemirror/addon/search/searchcursor.js"></script> <script src="/usr/share/javascript/codemirror/mode/clike/clike.js"></script> <script src="/usr/share/javascript/codemirror/addon/edit/matchbrackets.js"></script> <script src="/usr/share/javascript/codemirror/keymap/vim.js"></script> <style> .CodeMirror {border-top: 1px solid #eee; border-bottom: 1px solid #eee;} </style> <div id=nav> <a href="https://codemirror.net"><h1>CodeMirror</h1><img id=logo src="../html/logo.png"></a> <ul> <li><a href="../index.html">Home</a> <li><a href="../html/manual.html">Manual</a> <li><a href="https://github.com/codemirror/codemirror">Code</a> </ul> <ul> <li><a class=active href="#">Vim bindings</a> </ul> </div> <article> <h2>Vim bindings demo</h2> <p><strong style="color: #c33; text-decoration: none">Note:</strong> The CodeMirror vim bindings do not have an active maintainer. That means that if you report bugs in it, they are likely to go unanswered. It also means that if you want to help, you are very welcome to look at <a href="https://github.com/codemirror/codemirror/issues?q=is%3Aissue+is%3Aopen+label%3Avim">the open issues</a> and see which ones you can solve.</p> <form><textarea id="code" name="code"> #include "syscalls.h" /* getchar: simple buffered version */ int getchar(void) { static char buf[BUFSIZ]; static char *bufp = buf; static int n = 0; if (n == 0) { /* buffer is empty */ n = read(0, buf, sizeof buf); bufp = buf; } return (--n >= 0) ? (unsigned char) *bufp++ : EOF; } </textarea></form> <div style="font-size: 13px; width: 300px; height: 30px;">Key buffer: <span id="command-display"></span></div> <div style="font-size: 13px; width: 300px; height: 30px;">Vim mode: <span id="vim-mode"></span></div> <p>The vim keybindings are enabled by including <code><a href="/usr/share/javascript/codemirror/keymap/vim.js">keymap/vim.js</a></code> and setting the <code>keyMap</code> option to <code>vim</code>.</p> <p><strong>Features</strong></p> <ul> <li>All common motions and operators, including text objects</li> <li>Operator motion orthogonality</li> <li>Visual mode - characterwise, linewise, blockwise</li> <li>Full macro support (q, @)</li> <li>Incremental highlighted search (/, ?, #, *, g#, g*)</li> <li>Search/replace with confirm (:substitute, :%s)</li> <li>Search history</li> <li>Jump lists (Ctrl-o, Ctrl-i)</li> <li>Key/command mapping with API (:map, :nmap, :vmap)</li> <li>Sort (:sort)</li> <li>Marks (`, ')</li> <li>:global</li> <li>Insert mode behaves identical to base CodeMirror</li> <li>Cross-buffer yank/paste</li> </ul> <p>For the full list of key mappings and Ex commands, refer to the <code>defaultKeymap</code> and <code>defaultExCommandMap</code> at the top of <code><a href="/usr/share/javascript/codemirror/keymap/vim.js">keymap/vim.js</a></code>. <p>Note that while the vim mode tries to emulate the most useful features of vim as faithfully as possible, it does not strive to become a complete vim implementation</p> <script> CodeMirror.commands.save = function(){ alert("Saving"); }; var editor = CodeMirror.fromTextArea(document.getElementById("code"), { lineNumbers: true, mode: "text/x-csrc", keyMap: "vim", matchBrackets: true, showCursorWhenSelecting: true }); var commandDisplay = document.getElementById('command-display'); var keys = ''; CodeMirror.on(editor, 'vim-keypress', function(key) { keys = keys + key; commandDisplay.innerText = keys; }); CodeMirror.on(editor, 'vim-command-done', function(e) { keys = ''; commandDisplay.innerHTML = keys; }); var vimMode = document.getElementById('vim-mode'); CodeMirror.on(editor, 'vim-mode-change', function(e) { vimMode.innerText = JSON.stringify(e); }); </script> </article>
Save
cmd:
run