|
> 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. 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: ;; General settings.
(setq transient-mark-mode t)
(line-number-mode t)
(column-number-mode t)
(global-hl-line-mode t)
(setq-default indent-tabs-mode nil)
(global-font-lock-mode t)
(setq-default fill-column 120)
(setq auto-fill-mode t)
(define-key global-map "\C-xw" 'what-line)
(define-key global-map "\C-z" 'undo)
(define-key global-map "\M-g" 'goto-line)
"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. |