> The problem really is deciphering the `h,j,k,l,esc,d,x,p,b,w,i,I...` sequence.
> So as long I can't make sense of what random stream of characters mean, any amount of practice to put them into finger memory is going to be a exercise in frustration.
That wasn't a sequence - that was basic movements and operations you need to compose sequences.
d2w2jp - delete 2 words, move 2 lines up and paste(what was deleted)
d2w2j^p - delete 2 words, move 2 lines up, go to beginning of line(^) and paste(the deleted words)
df)/test$F{p
delete till ) (df)), search forward for test (/test), go to end of line where search is found($), search backward for { (F{), and paste(p)
They aren't random stream of characters if you know basic movements and operations.
As far as emacs goes, I find vim to be superior when it comes to navigation. When I am using emacs, I have a minimal configuration file for a few things I absolutely need:
"M-x goto-line line-number <CR>" is just too much typing for going to a specific line.
What emacs wins at is external tools integration. Vim doesn't support async command integration, and per the developers, never will. Vim developers believe vim is a text editor, and it has no business running shells; a stance I am ok with. But that means there never will be a slime for vim, at least not the way it works for Vim i.e you can't execute chunk of code, and be dropped in a debugger if an exception occurs. And there will never be a debugger which seamlessly integrates with vim. I do miss these things sometimes, but there are decent alternatives - I love my zsh, don't need it in an editor; slime, sans debugger is just configuring vim to send selection to repl etc etc.
That wasn't a sequence - that was basic movements and operations you need to compose sequences.
h,j,k,l is as intuitive as it gets http://wireless.ictp.trieste.it/school_2003/docs/linux/linux...
Rest of the basic movements are mostly mnemonics
w - move forward a word
b - move back a word
e - move to the end
d - delete followed by movement
You use these to formulate sequences.
d2w - delete 2 words
d2b - delete 2 words backwards
d2w2j - delete 2 words and move 2 lines up
d2w2jp - delete 2 words, move 2 lines up and paste(what was deleted)
d2w2j^p - delete 2 words, move 2 lines up, go to beginning of line(^) and paste(the deleted words)
df)/test$F{p
delete till ) (df)), search forward for test (/test), go to end of line where search is found($), search backward for { (F{), and paste(p)
They aren't random stream of characters if you know basic movements and operations.
As far as emacs goes, I find vim to be superior when it comes to navigation. When I am using emacs, I have a minimal configuration file for a few things I absolutely need:
"M-x goto-line line-number <CR>" is just too much typing for going to a specific line.What emacs wins at is external tools integration. Vim doesn't support async command integration, and per the developers, never will. Vim developers believe vim is a text editor, and it has no business running shells; a stance I am ok with. But that means there never will be a slime for vim, at least not the way it works for Vim i.e you can't execute chunk of code, and be dropped in a debugger if an exception occurs. And there will never be a debugger which seamlessly integrates with vim. I do miss these things sometimes, but there are decent alternatives - I love my zsh, don't need it in an editor; slime, sans debugger is just configuring vim to send selection to repl etc etc.