
My Text Editor Journey: Vim, Spacemacs, Atom and Sublime Text - kot-behemoth
http://thume.ca/2017/03/04/my-text-editor-journey-vim-spacemacs-atom-and-sublime-text/
======
vr46
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.

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

So FOSS proponents are idiots according to you? Noted.

~~~
dagw
If you're a FOSS proponents that looks down on people just for using non-FOSS
software, then yes you are an idiot.

~~~
clishem
I don't necessarily look down on people in prison, I just feel compassion for
them, especially if they live in a prison they can just walk out of any time
they wanted.

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

~~~
neals
I use vim from time to time, when hacking stuff on my server. I often hear
people say it's the best editor.

Could you tell me; don't you miss a mouse? Or a scrollwheel? Or alt-tabbing?
Do you use a project panel wher you can see your files? Do you browse that
with your keyboard?

I ask because I always struggle in vim.

~~~
maskros
I use vim and don't miss the mouse; I don't even have a scroll wheel (I much
prefer a proper old fashioned 3-button mouse with a proper middle button).

A tags file and ^] and ^t to navigate is faster than file browsing and
scrolling around. * and # to quickly jump between instances of the same token.
^6 to quick swap between buffers, and ^o and ^i to quickly jump back and forth
between locations I've visited.

Fast cursor movement using b, w, {, }, /search, [[, ]], is also much faster
than mousing around or slowly navigating using arrow keys.

Scrolling is done by ^e and ^y, and zz to center on the cursor. Faster than a
scroll wheel.

And don't forget the almighty '.'. To quickly replace a variable name, stand
on the variable, hit * to search for it and remember the search. Then 'cw' to
change a word, type the new name, hit escape. Then 'n.' to find the next
instance and repeat the edit.

~~~
dghf
And this is why I read vim threads. I've been using vim for years, yet didn't
know about ^O, ^I, ^E, ^Y or ^^.

That last in particular is going to be a big help. No more `:e #` for me!

~~~
maskros
While doling out vim tips, here are two quality of life improvements you can
add to your .vimrc:

    
    
        nmap ; :
    
        set grepprg=git\ grep\ -n
        nmap <F7> :cp<CR>
        nmap <F8> :cn<CR>

~~~
dghf
Ah, I'm one of those weirdos who actually uses ; (and ,). Though I guess I
could

    
    
         noremap ; :
         noremap : ;
    

But that might take muscle memory too much time to adapt. (And would it break
plugins?)

I've already got F7 and F8 mapped, but I'll hunt out a spare key(sequence) for
the mappings you suggest.

------
taylodl
_" 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!

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

~~~
erikb
How long have you used vim? I had a time of like two months where I spent a
lot of time in .vimrc. But it happens less and less often. Now I'm at about
one single one line change in two months.

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

~~~
rawland
+1

The battery lifetime argument made me stick to vim, too.

Oddly enough, I recently tend to use VSCode when being attached to AC. It
really seems that Microsoft gets this more and more right. They even added the
Minimap after listening to their users. Let me repeat: Microsoft. Listening.
To. Users! Still can't believe it.

However, my main argument for VSCode are side by side previews: Eases writing,
while pleasing the eye. Vim simply isn't made for this.

~~~
thewhitetulip
I love VSCode, have been using it before it was 1.0 version, but sadly, it is
always "using significant energy" in Mac, same is the case with every. other.
editor. _except_ vim!!

Even I can't believe that MS is running a famous FOSS project and they
actually listen to users, times are great :-)

Still, vim = awesome.

------
bostand
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??

~~~
erikb
As a vim user with only limited emacs experience this makes me curious. That's
usually what real vim pros say about vim. It's an awesome tool in itself. use
it without plugins. But "we" always thought that emacs is the editor that is
exactly made for people who think plugins, fancypancies, bells and whistles
are what makes emacs great. Basically for us it seems the cultural difference
is vim="skill beats tools, choose one great tool and master it" while
emacs="tools beat skill, no need to learn stuff if you can run a script just
as well".

What's your view?

~~~
bostand
Reading the article it seems that authors issues were all due to buggy and
incompatible plugins. Some were even written by the author himself. And that's
what I'm trying to say: you don't need 20-odd plugins, they only cause
problems.

Regarding you other point, I think it's the other way around because vim users
can't learn a new set of keyboard shortcuts if their life depended on it and
that's basically why we have evil mode.

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

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

~~~
StreakyCobra
Exactly this. I tried a lot of text editors, and I ended up with Spacemacs.
The "everything is text" concept of emacs in conjunction with vim's modal
editing is the most powerful interface that I've used.

But after a while you start noticing that the the fact that emacs is 100%
hackable is also its biggest problem: everything is possible, and tons of
plugins exists. Because of this, a lot of interactions between plugins start
to go wrong. The nice plugin that shows you a bar at 80 characters is working
well… except in HTML files where this is breaking the
display/indentation/completion. Or this other plugin that fails in a specific
language, or that other one that doesn't work for diff editing. I got tired of
always fighting and wasting time with plugins and configurations.

So I started to look at other editors. Atom? Too slow. Vim? Not an IDE.
Sublime? Not open-source. And then I found VSCode, refreshing. I start to love
it (and feel bad about this, because… Microsoft, you know…). My problem now is
that Spacemacs has put the barrier of keybinding efficiency so high that none
of the other editors can compete. Whenever I try another editor, like VSCode,
I miss the efficiency of Spacemacs, and especially Magit (one of the most
awesome pieces of software I have used). In Spacemacs I do absolutely
everything without mouse, with VSCode I have to use the mouse, so it's less
efficient (though this has been widely debated recently [1]).

I'm stuck.

[1]
[https://news.ycombinator.com/item?id=13847301](https://news.ycombinator.com/item?id=13847301)

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

~~~
RBerenguel
Also, no syntax highligthing, from time to time it is refreshing to move from
quite a customised Spacemacs (I moved from raw emacs to Spacemacs to clean up
my .emacs file) to something cleaner and leaner. Acme with plan9ports and
piping is pretty nice to use and allows for some fancy customizations that
feel very natural, mouse-wise.

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

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

~~~
mschaef
> it's true power cannot be fully exploited unless you know Emacs.

Very true. I've used Emacs almost exclusively for 20 years, and what I've
found is what you've just said: the key is to use Emacs on its own terms.
Otherwise you're fighting too many deeply ingrained behaviors, etc. (The
corollary to this is that the reverse is true also - Emacs keybindings for
other editors tend to be unsatisfying. They bring the surface, but not the
essence of Emacs to some other tool.)

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

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

~~~
faizmokhtar
I agree. I find that using someone else or a ready made .vimrc tend to make it
a lot more harder to learn vim. You have to build it slowly based on your own
preferences. Otherwise you won't fully utilise it.

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

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

~~~
erikb
I have to say though, that I'm not one of these vim users who hate Sublime. I
think Sublime, Vim, Emacs and probably also VisualStudio are awesome editors.
You should just know one and know it well. That means using it heavily for 2
years +.

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

------
joelthelion
Don't worry, you'll be back to vim in a few years.

------
raverbashing
"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

~~~
grabcocque
This is hacker news. If you look down on hacks, you may be in the wrong place.

Yes, Spacemacs is a pile of hacks on top of emacs which is a pile of hacks on
top of elisp which is a pile of hacks on top of a terminal emulator which
is...

Does it matter if they're hacks? Or does it matter that they're good hacks?

~~~
raverbashing
Hacking is important. But refactoring and cleaning up is important after a
while

Not to mention the political issues w/ Emacs

------
robbiet480
Anyone got more examples of awesome Sublime plugins using the new tooltips
feature?

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

------
metasean
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!

~~~
Veen
Text is a little small on first load, but tap to zoom takes care of that.
Although I read almost everything in Reader Mode on Safari anyway.

