I love the concept of modal editing and never having the need to move
you hands from the keyboard.
Before switching to Vim I've been using TextMate 90% without the mouse. Vim allowed me to go 100% but those 10% are hardly noticeable.
The problem is that a lot of they keys seem to be in awkward locations
No the problem is that you focus on their physical location rather than their meaning. If you know your keyboard layout, where the keys are doesn't matter; what matters is the logical connection you make between those keys. But I admit it can take a while. I've seen a number of graphical cheat-sheets that make the unforgiveable mistake to actually show the keyboard and tie the commands to the physical location of their key. With that kind of representation it's nearly impossible to make sense of Vim's language (because it is a language).
(And there seems to be a design flaw for Plugins: they easily conflict
with each other and with your own vimrc file).
I don't think I've experienced that on a large scale, but of course, using two plugins bound to the same key as one of your custom mappings is the kind of strategy that will create problems.
I moved "hjkl" to "jkl;", I also switch the direction the go from
to <^v> (which IMHO is easier to transition to from arrow keys)
jkl; only make sense if:
a. you are a touch typist
b. your keyboard doesn't have arrow keys
c. you have a QWERTY keyboard
I tried to use
hjkl when I switched but I didn't find it better than the arrow keys. Since I'm not a touch typist and I use a normal AZERTY keyboard I came back to the arrow keys which I don't use that much anyway: Vim's
wWEeBbfFtT/? and other various motions and text-objects make character-by-character and line-by-line movement (
hjkl) a joke.
Again, Mac OS X has a bunch of powerful but surprisingly widely unknown editing shortcuts which, when used to their full extent, make it very easy to navigate a file without much character-by-character movement. Here is a list of Cocoa shortcuts, both Windows and KDE/Gnome have their own, too. Moving from this system to Vim's cool motions and searches is surprisingly easy.
Moved : to
<Tab> since it doesn't do anything by default.
What do you mean? Do you hit
<Tab> to invoke command mode? If so, how do you actually input a Tab in insert mode?
Mapped : to jump to beginning of next word (w) and J to jump to the
beginning of previous word.
Again I don't understand:
: is normally used to invoke command mode, why would you use it to move to the next word? And
J is used to
Join lines, what would be the benefit to make it do something else? And what's wrong with
<C-k> to jump to beginning of file and
<C-l> to jump to end of
gg too hard to type or hard to remember?
Also since I am setting it up how It works helps me remember (I also
keep notes that are easy for other people to understand what I am
I agree completely, customizing Vim helped me a lot.
Now that I have that out of the way, I was wondering if I am losing
productivity by not using the default configurations? Other than that
Vi and Vim are everywhere in the *nix world (so it will be easier to
move between computers using the defaults), is there any other
benefits I'm losing by making a bunch of changes to the key mappings?
Or is it recommended that I make Vim more comfortable for myself and
configured more for situation?
I followed a similar path in the beginning. Switching from TextMate, my reflex was to make Vim a clone of my previous editor. I copied other people's
.vimrc verbatim, installed dozens of plugins, created lots of weird mappings and so on until I found out one day, while SSHed on a remote server outside of my control that I didn't know how to use Vim without all that stuff. At all. My ultra-customized MacVim wasn't Vim anymore and kept hidden all of Vim's awesomeness. So I decided to delete everything, start again from an empty
~/.vimrc and an empty
It was the best decision of my short front-end coder's carreer.
~/.vimrc has grown, of course. I have a bunch of custom mappings, of course. I use plugins, of course. But I don't depend on them, now. I've learned enough of "Vim's way" to make me more productive than I ever was and I'm still a noob.
So, my answer is that your attempts to customize the hell out of Vim are misguided and you should learn the basics first.
But that is only my opinion.