Hacker News new | ask | show | jobs
by salmo 1925 days ago
In college I used Emacs, because I had a romance with lisps and just really enjoyed extending stuff. Also used Sawfish as my window manager, etc. The modal thing in vi(m) was hard for me to wrap my head around and the bizarre config of vim seemed so inelegant.

But when I got a gig as a sysadmin running a few thousand servers w/ a slew of Unixes (Solaris, BSD, HP-UX, Linux) I finally bit the bullet and learned vi, because it was the only common denominator (oh, man and ksh88 because so many bash-es were so broken on those platforms).

Now I find modal editing very natural and productive and don't miss the keyboard gymnastics of emacs. I find I get pissed at every text editor that isn't vi. Outlook, this text box, etc.

I use IntelliJ (and do Python and Go in it) with vi binding for large long-lived projects and just vim/neovim in a terminal for scripts, short-lived stuff, and quick edits. The bindings in IntelliJ are good enough, although sometimes I forget and try to do things, like run a file through awk.

I play with using VSCode with vi bindings from time to time, but honestly just forget to use it much.

I have a smallish vim config with a handful of plugins, mostly for linting. I'm comfortable with it and haven't ever really found it lacking. And I don't feel the need to maintain a codebase for my config like I enjoyed doing in college. I guess I garden in my garden vs my config files and am not so focused on some kind of concept of purity. Heck, I think I have the default background on my mac.

3 comments

> this text box, etc.

I always keep a GVIM window open so that I can type text there and then paste those into other places that are not vi.

It also helps that vi is a lot more stable than certain websites and is less likely to lose my text. It's nice to be able to just copy&paste without having to re-type the same text when browser crashes.

As always, the Emacs experience is better: https://github.com/zachcurry/emacs-anywhere

:)

It's literally inspired by vim-anywhere.
I know. I use vim-anywhere because I never bothered to set up Emacs Daemon.
Funny you say that, because I always find myself reverting to emacs and, even after playing with config distros like Spacemacs and Doom Emacs, I've settled on on a severely minimal config with mostly default keybinds, and magit on the side because it is the best interface to git I've ever had the pleasure to use. I also enjoy running linters and test commands in a compilation buffer and hitting 'g' to re-run/refresh it after making changes in the files I'm working on. And the way emacs handles undo/redo feels intuitive to me in a way I can't really explain.

Essentially, I get modality when I want an interface. And the rest of the time, I type.

I still make sure that I know good-enough vim and nano so I can do what I want outside of my own environment.

I learnt something cool about Emacs undo on a recent HN thread.

If some text is selected before invoking undo, then undo happens only within the selected region.

25 years using the thing, and I'm always learning something new about Emacs. Thanks for the tip!
this is nice. Just like bash, emacs has so many features hidden under it's hood.
If you're a firefox user, check this out: https://addons.mozilla.org/en-US/firefox/addon/tridactyl-vim...
Perhaps it's just my wimpy laptop, but last time I tried tridactyl it was pretty slow. Vimium (https://addons.mozilla.org/en-GB/firefox/addon/vimium-ff/) has been a bit better for me, although I think it's quite a bit less configurable than tridactyl.
me too, plus some oddities like c-d and c-u are not remapped to d and u like on vimium, while not standard compliant it's a must because it is overridden by a browser bind. otherwise it's fast but there was more stuff which was not great/