Skip to content
This repository was archived by the owner on Oct 26, 2020. It is now read-only.
This repository was archived by the owner on Oct 26, 2020. It is now read-only.

Is it possible to rebind commands? (Colemak/Dvorak/etc. support) #27

@krompus

Description

@krompus

I am a Colemak touch typist (http://colemak.com/ There are dozens of us! DOZENS!), and I have gotten used to lightly modified keybinds. It would be nice to be able to rebind some of the keys in Vibreoffice, and use my non-standard muscle memory more fluidly.

Is this already possible? A config file, such as ~/.vibreofficerc would be great!

If it's not possible yet, there's no rush, and if this functionality is low priority or undesired, I would understand.

Here's an excerpt from my .vimrc to demonstrate what I mean (it looks much more complicated than it is in practice):

"""""""""""""""""
" Colemak-Vim Mappings
"
" Vi's traditional Qwerty-centric H J K L "arrow" keybinds are swapped for the Colemak
" homerow equivalent H N E I. As little else as possible is changed. As such, J K L are
" free to use and N E I need new keys.
"
" Therefore, we shall assign:
"
" - k/K as the new n/N.
" - s/S as the new i/I ["inSert"].
" - j/J as the new e/E ["Jump" to end of word].
" - l/L to skip to the beginning and end of lines. More intuitive than ^ and $.
" - Ctrl-l to join lines, making l/L the veritable "Line" key.
" - r to replace i as the "inneR" modifier [e.g. "diw" becomes "drw"].
"""""""""""""""""
" HNEI arrows. Swap 'gn'/'ge' and 'n'/'e'.
noremap n gj|noremap e gk|noremap i l|noremap gn j|noremap ge k
" In(s)ert. (The default s/S is synonymous with cl/cc and is not very useful.)
noremap s i|noremap S I
" Last search.
noremap k n|noremap K N
" Beginning of line / End of line / Join Lines.
noremap l ^|noremap L $|noremap J
" r = inneR text objects.
onoremap r i
" 'Jump' to end of word
noremap j e|noremap J E

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions