Hacker News new | past | comments | ask | show | jobs | submit login

> 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.




Join us for AI Startup School this June 16-17 in San Francisco!

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: