html5 boiler plate
[scannr.git] / js / flotr2 / examples / lib / codemirror / demo / vim.html
blob:a/js/flotr2/examples/lib/codemirror/demo/vim.html -> blob:b/js/flotr2/examples/lib/codemirror/demo/vim.html
--- a/js/flotr2/examples/lib/codemirror/demo/vim.html
+++ b/js/flotr2/examples/lib/codemirror/demo/vim.html
@@ -1,1 +1,51 @@
+<!doctype html>
+<html>
+  <head>
+    <title>CodeMirror: Vim bindings demo</title>
+    <link rel="stylesheet" href="../lib/codemirror.css">
+    <script src="../lib/codemirror.js"></script>
+    <script src="../mode/clike/clike.js"></script>
+    <script src="../keymap/vim.js"></script>
+    <link rel="stylesheet" href="../doc/docs.css">
 
+    <style type="text/css">
+      .CodeMirror {border-top: 1px solid #eee; border-bottom: 1px solid #eee;}
+    </style>
+  </head>
+  <body>
+    <h1>CodeMirror: Vim bindings demo</h1>
+
+    <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>
+
+<p>The vim keybindings are enabled by
+including <a href="../keymap/vim.js">keymap/vim.js</a> and setting
+the <code>keyMap</code> option to <code>"vim"</code>. Because
+CodeMirror's internal API is quite different from Vim, they are only
+a loose approximation of actual vim bindings, though.</p>
+
+    <script>
+      CodeMirror.commands.save = function(){alert("Saving");};
+      CodeMirror.fromTextArea(document.getElementById("code"), {
+        lineNumbers: true,
+        mode: "text/x-csrc",
+        keyMap: "vim"
+      });
+    </script>
+
+  </body>
+</html>
+