4 ms·
1. I like learning new tools and I got pretty good at vim's 10-15 fundamental commands in probably a couple of weeks. I was certainly OK, albeit a bit slow, by
by ozataman 14y ago
1. I like learning new tools and I got pretty good at vim's 10-15 fundamental commands in probably a couple of weeks. I was certainly OK, albeit a bit slow, by day 2 or so.
2. By the end of month 1-2, vim had become completely second nature. I did stuff without thinking. Actually, thinking about what I was doing started to confuse me.
3. Sure we all spend lots of time thinking, but I also often find myself cranking out code and vim is quite amazing for that.
4. I ended up switching to emacs because a) I like learning about tools (see #1) b) emacs gives you a more IDE-like experience c) while retaining 90% of vim's editing power d) and in general has the similar "become an editor expert" philosophy to optimizing editing workflow
I haven't used sublime, but I'm quite fond of editors that are keyboard-only (especially for jumping around, etc.), cross-platform, have stood the test of time and have endless extensibility.
edit: I have customized both vim and emacs to crazy depths. There was a time when just as I started to code, I'd say "why can't I do this [blah] drudgery automatically?" and end up writing an emacs function to do it :-)
- jaequery 14y agoat the end, emacs always wins :)
- ozataman 14y agoSorry for the cliche, but the obligatory: http://xkcd.com/378/ http://xkcd.com/378/
- ths 14y agoI rock back and forth, depending on the languages I'm using. Emacs does more, but is in my experience more kludgy, even after having in aggregate spent many days customizing it (maybe it would rub better if I wasn't hardwired to the vi/vim modal editing/motions method). Vim feels cleaner and less annoying, but sometimes the easy integration with external tools tips the balance in emacs' favor. E.g. I use vim for Rails apps (where I didn't really feel enough difference from vim + terminal), but if I were writing Clojure, stuff like the repl integration would probably mean emacs. Sublime is really pretty, and has great functionality out of the box. Ultimately, vi/vim's contribution is the modal editing method (and derived things like motions), which can be transplanted to any other IDE or editor that cares to support it. But for the fundamendals - editing and switching between files - I've so far found vim to be the cleanest, most natural vim.
- tikhonj 14y agoEmacs can be pretty pretty--perhaps not actively pretty, but very elegant in a minimalist sort of way. I'm pretty happy with how mine looks[1], for example. [1]: http://jelv.is/emacs-blackboard.png http://jelv.is/emacs-blackboard.png Also, have you tried Evil? Apparently it's a very good Vim-emulation mode for Emacs, highly recommended over Viper.
- ozataman 14y agoHah, Haskell! Also my primary choice of magic potion :-)
- ths 14y agoIndeed! I disagree with people who think vim and emacs are ugly: they have their own nice 8bit-esque aesthetic which I'd expect hackers to like, given that they've chosen to stare at terminals all day (I've rolled my own colorscheme for both vim and emacs). And they make good use of screen real-estate, very important when coding on a laptop. I haven't tried Evil, in my last emacs phase it wasn't mature yet IIRC - maybe I should give that a go and see if it tips the balance yet again.
- jamesjporter 14y agoWoah how do you get your status bar to have the > shapes like that? Looks very nice :)
- tikhonj 14y agoI'm using powerline.el[1]. It's an Emacs version of a Vim plugin. [1]: https://github.com/jonathanchu/emacs-powerline/blob/master/powerline.el https://github.com/jonathanchu/emacs-powerline/blob/master/p...
- jamesjporter 14y agoExcellent, thanks! Here's to hoping I can get it to work with nyan-mode, the most important emacs plugin :P
- jcurbo 14y agoYep, after bouncing between vim w/plugins and Sublime Text for the past year or so, I spent a day messing with emacs and have somehow found a sweet spot for my workflow. (haskell-mode/ghc-mod and AuCTeX - schoolwork) I've tinkered with emacs on and off over the last decade but somehow for what I'm doing now it just feels better than my vim setup.
- theanalyst 14y agoAgree; customization and extenisibility of emacs is something unmatched (not a vim user, can't comment on that), I have been using emacs for just an year now; and still I feel I am more productive in emacs than anywhere else, keyboard macros and elisp extensibility can almost bring any feature customized to your fingers.
- tracker1 14y agoI have to agree with TFA here... I just don't see the point, and never have. When I'm in an editor, I mainly want to type, and have what I type go in where I type it... I like pico/nano over vi/vim/emacs. I like sublime, but a lot of functionality is only keyboard accessible, and I haven't take n the time to learn hot keys... why I would really love is having my editor, and a couple command/console prompts in the same UI. I find that I tend to reach for sublime, as my former fav (Crimson Editor) was windows only, though I could get it working in WINE, wasn't as friendly, and doesn't work with the windows security model since Vista (I use Win7 at work). I also appreciate what an actual IDE offers in those environments. I use VS (C#) and WebStorm (NodeJS) more than anything lately.. and wouldn't give them up. I'm impressed when I see people get work done in VIM... I just don't think that way, and don't manage to memorize a bunch of hotkeys I don't use at least 10 times a day. Hard enough keeping the step keys for debugging in different IDEs straight, let alone, more esoteric things.
- ozataman 14y agoI don't mean to disregard what you said or insult your approach just because it is different than mine, but I can't tell you how much vim/emacs have boosted my productivity. Not only am I at least 30%+ faster while coding, but in general the process is so well oiled that I have near-0 resistance to just jumping in and getting something done. I jump around in code like crazy, can jump to different files instantly no matter where they are (find-file-in-project), do git stuff (magit), have REPL right there in the editor, replace REPL with some code buffer instantly, set up 4-way split panes and kill them in a split-second, etc. etc. In my opinion, tooling is very important. You want something that makes you a wizard - something that's smooth and FAST. I once worked with a very experienced gentleman who preferred Notepad to write 3-page-long SQL queries. He knew his craft very well, got the job done, but boy did he take his time :-)
- jhchabran 14y ago"near-0 resistance" nails it. As a Vim user, I consider the whole productivity thing about it quite over-rated. Yes it's efficient, yes it's faster, but in the end, anyone with a decent editor is going to go faster after a while. The point is comfort. Once vim's mechanics are assimilated, you starts to memorize meaningful sequence of letters, like ci". And those sequences are just words you're typing, so typing code or entering commands is exactly the same thing. And none of this require going too far frome the home row with your hands. This in my opinion is why Vim is so good :)