Since 2025-07-10, I no longer use this plugin in my daily workflow. It remains functional and available for anyone who finds it useful. See rationale in the following dotfiles commit: https://github.com/linduxed/dotfiles/commit/cf8411a341a57a4b014151c7b15ae6dffd1c9279
This set of remappings adjusts Neovim to work with the Colemak keyboard layout.
This repo is a continuation of my colemak.vim repo, with the main purpose being transitioning to using the Neovim Lua API.
It started out as a copy of Shai Coleman's colemak.vim but quickly changed when I realized that while some of his ideas were interesting, others I didn't like at all.
The mappings have changed over the years to suit me and my needs/preferences. This means that it most likely isn't suitable for someone who's looking for a "faithful translation of QWERTY Neovim", since it's not an attempt to do that.
unei (ijkl on QWERTY) replaces hjkl. A lot of movement mappings are centered around this formation of keys:
lyfor word back and forward.^L^Yfor WORD back and forward.LYfor^and$.NIfor end of word back and forward.jhfor page up and down.
There are other ones in that region of the keyboard, but those are the ones I use the most.
Undo, copy and paste are placed on the z, c and v, resembling the Ctrl+zxcv counterparts in other applications. This is a remnant of Shai's colemak.vim. Back then I didn't feel like making up something which breaks less bindings, eventually I got too used to it.
There are other changes, but you can look those up in the actual mapping file.
Apart from the file with the mappings a file with unmappings was added. Together, these two files provide you with the commands :ColemakEnable and :ColemakDisable, of which the first one is run automatically when starting Vim.
Also, a word of warning: if you decide to use this, it's likely you'll have to change the mappings for a bunch of your currently installed plugins.