Vim bindings demo

1
#include "syscalls.h"
2
/* getchar:  simple buffered version */
3
int getchar(void)
4
{
5
  static char buf[BUFSIZ];
6
  static char *bufp = buf;
7
  static int n = 0;
8
  if (n == 0) {  /* buffer is empty */
9
    n = read(0, buf, sizeof buf);
10
    bufp = buf;
11
  }
12
  return (--n >= 0) ? (unsigned char) *bufp++ : EOF;
13
}
14
 
 
1
        I am another file! You can yank from my neighbor and paste here.
2
 
 

The vim keybindings are enabled by including keymap/vim.js and setting the keyMap option to "vim". Because CodeMirror's internal API is quite different from Vim, they are only a loose approximation of actual vim bindings, though.