I've been trying my hand at mnemonics, with some pretty funny results, as well as some unintentionally good ones, like "warp" for full-screen ace-jumping.
(defvar lalopmak-evil-mnemonic-hintstring "Mnemonic (less descriptive) hints for lalop's colemak-evil configuration. Accessed via: :mnemonic
To dismiss: retype one of the above commands or press q in the buffer.
Normal mode:
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
|~ Case |! ExtFlt> |@ PlyMcr· |# <-= |$ ->| |% GoMatch |^ <-- |+ Next<-- |[ Rep :s |] =-> |( |<-Sent |) Sent->| |_ LastLin |
|` Go Mk· |1 |2 |3 |4 |5 |6 |= Format> |7 |8 |9 |0 |<- |- TopLine |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
| | |◀--FindChar|FindChar--▶| | | | | | PasteAbove| | | |
| NextTab | |WinCmd |FloatRegion|RePractcing| Abort Cmd | | ▲ | WORD | ▲ ScrlUp| WORD | | GoMk·|< |
| <TAB> |Quash State|WarpTilChar|FndTilNbyCh| | EOF/GotoLn|{ | ❚ |Back2Indent| | 5Char | EOL |; z-Cmd· |\" SetReg· |
|ExpdSnippet|Quash Char |WarpToChar |FndNrbyChar|JusPractcng|Go Commands|[ | ❚ PageUp| word | | Char | word |: z-Cmd· |' RunMacro |
| | Q | W | F | P | G | | J | ◀▬▬▬ L | U | Y ▬▬▬▶ | | |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
Meta-----> | Block Area| | |RptFindChar| | | | PasteAtBOL| PasteBelow| PasteAtEOL| | |
Ctrl-----> | All Area | Redo | Search | | DelWord | | ❚ | =<Dn> | | ScrlDn| =<Tab> | | |
Shift----> | Area Line | Insert BOL|SucceedLine|TrnsfmToEOL||D Del->| || | ❚ | 5Char | | 5Char | 5Char | || GoCol1 |
Normal---> | Area | Insert | Succeed | Transform | Delete> |\ Indent | ▼ PgDown| Char | ▼ Char | Char | JumpOver |\\: (usr)· |
Ltr/Direc->| A | ◀--R | S--▶ | T | D | | H | ◀--- N | E | I ---▶ | O | |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
| | | | | | | | | | |
| | | | Paste-Pop | | | | | | | · = char arg.
|ZigZag Up | Cut To EOL| Copy Line | <-Paste | Find File | ? <-Find§ |RpetFndBkwd| Set Mk· | < ◀-Dedent| > Indent-▶| > = move arg.
|ZigZag Down| Cut-> | Copy > | Paste-> | Buffers | / Find§-> |Repeat Find|CreateMacro| , | . |
| Z | X | C | V | B | | K | M | | |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
====Text Object Triggers====
r = inner = 'reduced'
s = outer = 'spread'
z = surround = zurround?
====Text Objects====
The usual (w)ord,(W)ORD,(s)entence,(p)aragraph still work.
u = paragraph = 'ubiquity'
e = sentence = 'entry'
n = word = 'nearby'
i = WORD = 'interconnected word' / 'interword'
y = sYmbol
")
Any suggestions would be appreciated. For reference, the default-named chart:
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
|~ Case |! ExtFlt> |@ PlyMcr· |# <-= |$ ->| |% GoMatch |^ <-- |+ Next<-- |[ Rep :s |] =-> |( |<-Sent |) Sent->| |_ LastLin |
|` Go Mk· |1 |2 |3 |4 |5 |6 |= Format> |7 |8 |9 |0 |<- |- TopLine |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
| | |◀--FindChar|FindChar--▶| | | | | | PasteAbove| | | |
| NextTab | |WinCmd |ExpndRegion| Redo | Abort Cmd | | ▲ | WORD | ▲ ScrlUp| WORD | | GoMk·|< |
| <TAB> | RepState |JmpCharTill|JmpNbyChTil| | EOF/GotoLn|{ | ❚ |Back2Indent| | 5Char | EOL |; z-Cmd· |\" SetReg· |
|ExpdSnippet| Replace |AceJumpChar|JmpNrbyChar| Undo |Go Commands|[ | ❚ PageUp| word | | Char | word |: z-Cmd· |' RunMacro |
| | Q | W | F | P | G | | J | ◀▬▬▬ L | U | Y ▬▬▬▶ | | |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
Meta-----> |SelectBlock| | |RptFindChar| | | | PasteAtBOL| PasteBelow| PasteAtEOL| | |
Ctrl-----> |Select All | Redo | Search | | DelWord | | ❚ | =<Dn> | | ScrlDn| =<Tab> | JmpOldr | |
Shift----> |Select Line| Insert BOL| Append EOL|ChangeLine ||D Del->| || | ❚ | 5Char | | 5Char | 5Char | || GoCol1 |
Normal---> | Select | Insert | Append | Change | Delete> |\ Indent | ▼ PgDown| Char | ▼ Char | Char |AceJumpLine|\\: (usr)· |
Ltr/Direc->| A | ◀--R | S--▶ | T | D | | H | ◀--- N | E | I ---▶ | O | |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
| | | | | | | | | | |
| | | | Paste-Pop | | | | | | | · = char arg.
| OpenUp | Cut To EOL| Copy Line | <-Paste | Find File | ? <-Find§ |RpetFndBkwd| Set Mk· | < ◀-Dedent| > Indent-▶| > = move arg.
| OpenDn | Cut-> | Copy > | Paste-> | Buffers | / Find§-> |Repeat Find|CreateMacro| , | . |
| Z | X | C | V | B | | K | M | | |
+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+-----------+
I am also experimenting with a more minimal "mnemonic" mapping whose primary goal is to keep vim's default mnemonics intact. You can try those by instead (require 'lalopmak-evil-mnemonic).
However, the comparatively awkward positions are getting to me:
Change is at such a weird key for something I use all the time
You can't easily navigate forward or backward word with the awkward w/b
Combining those, a very common pattern for me is change-[forward/backward word], which is awkward with c-w while terrible with c-b.
There seems to be no one-fingered way to browse large vertical distances.
Deprovement of several "shift letters" relative to colemak-evil-like style. v is very commonly shifted, and an awkward reach compared to colemak-evil's a. Ditto for undo (z vs u), though admittedly the use of redo for shift there is arbitrary. In the case of my particular layout, r/s (insert/append) also benefit a little from this (relative to default and colemak-evil, respectively).
And that's not even getting into the colemak-specific issues (redundant replace/substitute right next to each other, endword taking up prime real estate while the arrow keys are displaced - I got rid of endword to move some back). All in all, I'm not convinced it's worth it.
Last edited by lalop (12-Aug-2013 19:36:26)