I've just pushed a branch with alternative implementation of vim bindings here: https://github.com/yi-editor/yi/tree/vim2
Things that are different in the new implementation --------------------------------------------------- - It has tests. - It is split into modules. - It uses explicit VimState instead of using parser approach using KeymapM. My brain couldn't keep track of all the edge cases otherwise, sorry. - Slightly different subset of vim features is implemented. - It doesn't have a new implmentation of Ex, so it just shamelessly imports exMode and exEval from Vim.hs and it appears to work. How to try it in the editor --------------------------- ``yi --as=vim2`` How to run and add tests ------------------------ Invoke ``make`` in yi/src/tests. It works only after building yi itself, because it reuses some files from build directory. Yes, it's ugly. If someone has a better way to do it, I'd be happy to know. There's a short readme about tests here: src/tests/vimtests/README.rst -- Yi development mailing list yi-devel@googlegroups.com http://groups.google.com/group/yi-devel