I use IJKL for character movement along with Ctrl IJKL for screen movement which means I can't use Tab and Shift-Tab for insert a literal TAB (say for Makefile) and/or indent / unindent . The work-around is to use the slightly awkward Shift to indent/indent and and Ctrl-Q Tab to insert a literal tab respectively.
I see. I don't mind the arrow keys, however I use pg up/dwn, home/end in combination with Ctrl. Ctrl+left/right yields a word progression as opposed to character progression. So I press Ctrl for large movements and arrows for character movements. I think there are a few more I use unconsciously as well that don't come to mind immediately.
I'm very fussy about keyboard customization and optimization of minimal keystrokes
I very with you on this. I think it's important because it is the limiter on the throughput you have to your machine, fatigue and injury using a computer, in my experiences.
I don't remember when it happened, however the left or right click terminology for mousing stuck when users were trying to understand how to use a computer en masse, however it doesn't translate to the left side of the body. For context, consider using a right handed mouse. The right hand index finger is on the left button called 'select' and right button is called 'context' or 'menu'. The middle button is called 'middle' and introduced paste, then later scroll wheel and left/right. Now consider the same thing with a left handed mouse, left and right click no longer makes any sense.
I realised this when I first helped left handed users get set up ergonomically. Later injury forced me from being a right hander to left for some time and I got to experience their frustrations. I ended up ambidextrous (and a pretty good drummer), so I use two mouses to satisfy the ergonomics I have requirements to avoid re-injury.
I don't know if that is formally defined somewhere or I've unconsciously picked it up along the way, however to communicate it specifically during training sessions, I started referring to them as 'select' as index finger click, middle as middle finger click and 'context' as outside finger click, so that it makes sense to left handers as well.
The reason I told you all that is..
This works but I find it clunky.
If I may offer a suggestion, you may find some favourable vim functionality by using it with cygwin/X term, it's (DEC VT100) vs (ansi) terminal type. So when manipulating text an index click positions the cursor, a double index selects a word or a begins a drag to select, and a triple click selects a line (as normal). However you add the middle click and that becomes your first paste buffer, which is also a visible buffer.
Find the right terminal type (like xterm under linux) and vim will support the scroll wheel to page text, the mouse to position the cursor which *might* help the issue you are facing .
-- which is the main reason I love Vim's modal style.
When you add text in the edit mode of vim then select an add or insert at a certain position you can continue to select and paste text into the edit point by only using index and middle clicks. It is a simple, but powerful facility that I use in combination with command mode. For example apply the same regular expression over a range on some things over a number of files by middle click and y/n, :'a,'b g/expression/ s/find/replaced/gc :wn
I _would_ use Ctrl-# for bookmarks, and Buffer Management, along with other macros I use daily.
Interesting. I tried Ctrl-#, but I'm not sure how it should work? Would you mind sharing what I am missing?
I don't know your preferred hotkeys and shortcuts so I can't say. Probably not.
I use bookmarks, however I think I might be using vim differently. First I use "m" (for mark) and then a upper or lower case letter to set a bookmark. Then ' (a single quote, followed by the letter. So 'mq' and 'mQ' can set two different locations which are accessed by 'q or 'Q. Sure I am limited to 52 bookmarks, however I have rarely used more than 30. Obviously you can then use that to set up ranges to cut, copy paste, use regular expressions on or apply functions to.
Vim is like 99% close to perfection for me. Just wish it wasn't stuck at 99%.
I also feel your pain. For me I just have not found a vim plugin for Eclipse or VS that is has the satisfying power of vim. This for me has really stifflled my interest in IDEs. No matter how much I like them and want them, I can't stand the text editors, I feel lobotomised.