from Hacker News

My Text Editor Journey: Vim, Spacemacs, Atom and Sublime Text

by kot-behemoth on 3/22/17, 5:53 AM with 88 comments

  • by vr46 on 3/22/17, 10:07 AM

    Sublime is an excellent editor and anyone who looks down on anyone else for their choice is not doing so because they are a Vim/Emacs user, it is because they are being an idiot.

    I feel that Textmate really showed everyone how good a GUI editor could be - we are going back approximately 12 years, and BBEdit, Alpha, Smultron, Hydra/SubEthaEdit were the main contenders at the time.

    I concur about Spacemacs, it promises much but things quickly go awry for me whenever I've tried it. Confusion in Vim is easily engineered out in a config or two, and one of the main benefits of learning Vim or its bindings is that it's very likely to still be with me just before I breathe my last.

    Text Editors are investments in a fast moving technology industry and Vim/Emacs are a global reserve currency.

  • by kaishiro on 3/22/17, 9:47 AM

    I find articles like this interesting, mainly because I went through a similar transition (IDE => Sublime => vim). However, my story stopped at vim.

    For this particular article, I think what strikes me as odd is:

    > use[ing] the keyboard is slower for some selection tasks like selecting a range of text far from the cursor than the mouse is

    This is...precisely the opposite of my experience. I find navigation and selection to be the most powerful aspects of vim. I never felt like I "got" vim until I understood this, in fact. I constantly questioned if the investment of time was worth it. That being said, if you don't grok this I could see how it would be defeating. You eventually reach a point where you forget the mouse is even an option though.

    My only other comment is in regard to his mention of issues with tabs. I'm curious what we were doing so differently, because that's never once been a problem for me, even in early days (however I could see how it would be super annoying).

    I'm of the mind that it doesn't matter what you use as long as you're being productive, but it's also neat to see what path other people walk down.

  • by taylodl on 3/22/17, 10:25 AM

    "I wrote this post because I often find myself justifying my use of Sublime Text to Vim and Emacs users. They often look down on Sublime users as people who haven’t put in the effort to learn a real power user’s text editor."

    This is the real problem. You don't owe anyone any explanation for the text editor you use. Personally, I'm an emacs man. I know lots of people who prefer vim. Some prefer Sublime Text. Some even prefer TextPad Pro. That's fine. That's their business and at the end of the day what I care about is their code, not the editor they're using to hack on it.

    If people get frustrated with their editor and ask what I'm using, then I'll tell them about emacs. But I'll also tell them emacs isn't for everyone. To wit, in the case the author mentioned of finding other files in his project I'll either use dired or open an emacs shell window and use find. This is a great workflow for me. Others would find it abhorrent. To each their own - and that is the point!

  • by drej on 3/22/17, 10:18 AM

    Stories like these amuse me, mostly because it reminds me a bit of my own journey. Years and years ago, I remember tuning vim into oblivion, spending more time in .vimrc than in my code (but I had time, Gentoo was busy compiling... something). I learned a great deal and I still use vim whenever I'm ssh'ed some place. But. I started valuing my time and I realised that tuning a text editor is not worthwhile. I don't mean it in a bad way - go nuts if you feel like it, I just chose not to do so.

    I'm a happy user of Sublime Text now, have been for years. It's such a relief. I know none of its features and it feels great. I enjoy the speed, mouse support, clear text, its remembering of all unsaved files and other user friendly features.

  • by thewhitetulip on 3/22/17, 10:17 AM

    I tried out many text editors and settled down on Vim, the reason being every other text editor eats way too much of my battery, I'd tolerate a few less advanced features, as long as my laptop runs for 8hrs on a single charge. Plus, did anyone else notice that the file icon for Rust code is of Visual studio code, in the second photo.
  • by bostand on 3/22/17, 9:59 AM

    Why don't people ever give native emacs a try?

    No evil-mode, no super-bloat spacemacs, just barebone emacs with maybe one or two plugins??

  • by edanm on 3/22/17, 9:59 AM

    Interesting. I find myself in a similar situation, except that I'm still using vim since I have too many cool things set up there that I simply can't do without.

    As I often say, IMO vim is the best text editor in terms of actually editing text, bar none. Unfortunately, all the million surrounding tasks that you need to do, e.g. opening and switching between files, searching, etc, are terrible in stock vim. I've taken the path of installing tons of plugins to make vim work better, but it's still not as smooth as something like Sublime. I check Sublime once a year or so to see if the vim mode there is "good enough" yet, and it invariably isn't :(

    Btw, my transition was IDEs (and Slickedit at some point) -> Emacs -> back to IDEs -> Sublime Text 1 (for which I wrote a few plugins) -> vim.

  • by grabcocque on 3/22/17, 10:11 AM

    I ended up on Spacemacs (for making emacs discoverable and tractable to mortals) and VS Code (for its thoughtful and clean design).

    I was amazed I ended up falling in love with an editor from Microsoft of all people, but they seem to have learned all the right lessons from Atom.

  • by TurboHaskal on 3/22/17, 10:47 AM

    Former vi / Emacs user here.

    You could try Acme. It feels great (zen-like, actually) not having to remember a dozen keybindings, not maintaining configurations and simply clicking around and using whatever is on your $PATH.

  • by k__ on 3/22/17, 1:26 PM

    My Journey was Notepad++, Eclipse, PHPStorm, Sublime Text, Atom, VSCode.

    Eclipse really helped me with its Git integration and when PHP got more sophisticated I really appreciated the help the IDE gave me over Notepad++.

    I switched to PHPStorm because it was way cheaper than VS but had better support than Eclipse and more up to date features that helped with PHP.

    But it got heavier and heavier and the company I worked for would not buy new dev machines, so one day I switched to Sublime Text, which felt like a speedup by 100x. Also I switched from PHP to JavaScript in that time. PHP had better typing so the IDE could help much more than with JavaScript, so I didn't see much gain in using PHPStorm or WebStorm.

    Then Atom came out and got updates and new modules faster than Sublime Text and since I was now mainly a JavaScript dev, it just felt right lol.

    But Atom was also much slower than Sublime and the modules were often low quality. So I tried VSCode, because I read a few good things about it and it really was better. Not as fast as Sublime Text, but faster than Atom and still with bleeding edge modules and updates.

    It's becoming more and more of a modular IDE, but I think their module system is rather good so I think they can keep up performance wise for a time now.

    I also tried stuff like Brackets, Vim and Emacs, but they either felt too simple or they had a too steep learning curve for my taste.

  • by petantik on 3/22/17, 9:22 AM

    I do agree that Spacemacs, although it's a fairly full featured environment that mimics Vim's modal editing, it's true power cannot be fully exploited unless you know Emacs. There are just too many edge cases with the integrations that can make the experience painful.

    I mostly stick with Vim now since I can easily work through any issues I do encounter with the plugins, and there's no extra layers to worry about.

  • by moron4hire on 3/22/17, 10:28 AM

    I routinely throw away whatever text editor I'm using and pick up a new one. Probably once a year. On occasion, the replacement text editor is one I've wrote (usually at that time).

    I find it helps me write code that other people can understand and use. IDK why the text editor has such a big impact. Maybe the frustrations of certain actions in certain editors discourages those actions and subtly biases the code I write. I've not dug into it too deeply.

    The one thing I hate is managing plugins and configs. This stems from my other habit of trying a new OS every year, too. The only way to keep a consistent config across all of these states is to just accept the default config as the one, true config. If a feature is good enough to be a plugin, it's good enough to be in the software.

    I've been very keen to go on another text editor adventure, this time with focus on creating a good experience on mobile devices.

  • by mundanevoice on 3/22/17, 9:37 AM

    I understand the points you made for Sublime. It gives all most of functionality out of the box without having to remember shortcuts or key bindings. However, your criticism of Vim felt weak to me. Your pain point sounds mostly like a misconfiguration on your part. I have been using Vim for almost 8 years and have used heavily configured to minimal setup. One thing I learned is the issues is always with bad configuration. > my tab key was bound to tons of different things like autocomplete, snippet expansion, indentation, moving between snippet fields and inserting the literal tab character.

    Clearly, you shouldn't have used tab to do all the things, it is bound to create confusion, if you use tab for everything.

    Mouse support is first class in Gvim/Macvim.

  • by reitanqild on 3/22/17, 9:48 AM

    I wrote this post because I often find myself justifying my use of Sublime Text to Vim and Emacs users. They often look down on Sublime users as people who haven’t put in the effort to learn a real power user’s text editor. They’re confused when they learn that I have tried Vim and Emacs extensively and still choose to use what they see as a basic newbie editor. I hope this post explains why Sublime is an excellent choice for a highly customizable power user’s text editor.

    My opinion as well although I am not as experienced as the author.

  • by erikb on 3/22/17, 11:42 AM

    The goal is not to get feature x into the editor, but solve problem A, and one editor solves that with feature x the other with feature y. If you try to make vim as Sublime like as possible, of course you will fail. But if you really learn vim, you'll see its true power. The same goes the other way around.

    For instance I hardly miss auto complete and file trees.

  • by alderz on 3/22/17, 10:46 AM

    I find no mention in the article to org-mode. It is the reason I am sticking with emacs (well, spacemacs), nothing I have tried comes close. I have been a vim user for many many years and I love its simplicity compared to emacs, but org-mode is truly life-changing.
  • by joelthelion on 3/22/17, 10:38 AM

    Don't worry, you'll be back to vim in a few years.
  • by raverbashing on 3/22/17, 10:04 AM

    "I think the underlying reason is that everything in Emacs, and especially Spacemacs, is a hack"

    Correct. One of the reasons I don't go the Emacs/Spacemacs way

  • by robbiet480 on 3/22/17, 9:57 AM

    Anyone got more examples of awesome Sublime plugins using the new tooltips feature?
  • by redsummer on 3/22/17, 10:31 AM

    I tried to learn Emacs, but the time allegedly saved by using it was more than countered by the time fiddling with it to get it working properly. I'd rather have a pencil than a self-assembled typewriter.
  • by metasean on 3/22/17, 9:38 AM

    The mobile experience of reading this article is horrific. I did enjoy the little bit I was able to read before the lilliputian font drove me away, but drive me away it did!