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

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

Open
krompus opened this issue Sep 29, 2015 · 2 comments
Open

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

krompus opened this issue Sep 29, 2015 · 2 comments

Comments

@krompus
Copy link

krompus commented Sep 29, 2015

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

@Dietr1ch
Copy link

Dietr1ch commented Nov 8, 2015

I got used to Dvorak instead of remapping.

In the end it is by far less painful than remapping your setup and every plugin. You may be forced to lose the mnemonics (as i for i nsert) or have the mnemonics remind you of a keyboard layout that you are not using (c is for insert because Dvorak's c is the i on qwerty).

I'd vote for general remapping on a dotfile and offering a sample remap for those who can stand it.

@krompus
Copy link
Author

krompus commented Nov 8, 2015

Hahah, actually, since writing this, I've decided to revert to default vim -- despite its oddities in Colemak -- and I've gotten used to it. This Libreoffice extension was one of a few that convinced me that changing the defaults was perhaps a bad idea, as many plugins and extensions are not rebindable. Even if they are, I would not be able to function efficiently without my dotfiles. This way, I can just change input to Colemak on any box (or use a Colemak-firmware board) and take advantage of my muscle memory without the pain of learning two separate sets of mnemonics and movement keys.

As far as I'm concerned, we can close the issue, but it would still be a welcome feature if the devs have the time.

(I'm a little new to Github -- seeing as I opened the issue, am I the only one who can close it? If so, just ask!)

Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants