Hacker News new | ask | show | jobs
by suprfnk 3749 days ago
> I've tried Emacs, Vim, Atom, Code, and Sublime, and none of them beat N++.

This ofcourse being entirely subjective.

2 comments

This really surprises me. What can N++ do that Vim or Emacs couldn't do? Or what is easier at least?
Both Semiapies's and Cthulthu_'s comments hit the mark, Notepad++ is a definitely Windows application that just works straight out of the box. (As a caveat, I have spent a lot of with a command shell and vim).

The other thing is that, as a Windows developer, I spend a lot of time in my IDE. Whenever I try to use Emacs I quickly get sucked into the fact that the most productivity gains you get from it are when you use it for as much as possible, like OrgMode, reading emails, etc. It's advantage is that you can write elisp plugins to customize it for your workflow. As a standard corporate "textbox over data" developer, I have the full suite of Office and Visual Studio at my disposal, so I don't see any benefit to use Emacs. Also, Emacs on Windows is definitely a second rate experience. You can't launch a daemon process, and it requires setup to get copy/paste from the OS to work well.

Vim is great, and it works well on Windows, but again, most of the time I am editing code, it's in Visual Studio. If I need text manipulation or searching, it's a real loss to paste into Vim, and then have to switch over to remembering Vim commands.

I've come to the realization that tools like Vim, Sublime, and Emacs are awesome if you do the majority of your work on them. The more tasks you can pile into them, the less context switching you have, and more consistent experience you get.

On Windows, Notepad++ fits that niche perfectly, it uses the Windows commands, present a consistent interface, and it has the power to do powerful text manipulation when needed.

One thing about the context switching comes to mind as I was reviewing this post a day later. I am capable of being very good at vi(m)'s commands when using vi(m). When I need to ssh into a headless server to deploy or modify a text file, I just immediately use vi. When I try to use a vi emulation layer (VsVim, Evil Mode) I choke, because I inevitably use a set of keystrokes native to that application but do not work in command mode. Just more evidence towards my claim the benefits of a text editor can only be realized if you try to pile in as much as you can.
Be easy, straightforward, and immediately productive for someone used to Windows apps.

I love Emacs, but it took a deliberate, determined effort and time sacrificed to get productive in it, so that I didn't feel like I was handicapping myself.

Vim / Emacs have a very steep learning curve, and highly unintuitive, doubly so if you've rarely worked with a commandline.
And in the end, you are not more productive than with sublime text or notepad++. In my experience.
What does "in the end" mean? I've been working in Vim and then Emacs+Evil for four years or so and it is pretty clear that I'm still far from proficient. That said, it is an enormous step above a text editor (and somewhat better than any IDE I've tried).
I really tried vim for months. I found it uselessly verbose while sublime has straightforward key shortcut that help a lot.

How could you be more efficient using vim ? That's something I don't understand. I always suspect vim and emacs user saying it because it makes them feel like super programmer.

It can take awhile for things to "click" with Vim before you really understand it.

Start by reading this StackOverflow answer[0] titled, "Your problem with Vim is that you don't grok vi."

Like that poster states, when you are using Vim correctly you are speaking a language as you are editing. You provide it an action and then you tell Vim what to apply the action to. This is usually either a motion command, or a text object. Combining these concepts allows you to have a level of expressiveness that non-modal editors cant easily replicate.

If you are just using Vim as you would use a non-modal editor you aren't going to see any gains. But if you embrace the "language" idea of Vim, learn to spend most of your time in command mode, and start combining actions + motions/text objects, you will start to see the real power of Vim.

[0] http://stackoverflow.com/a/1220118/2635

As implied by "I've tried"
And by that, I mean a dedicated effort. I used VsVim and Vim for years, and I've made multiple attempts to switch to Emacs. But I keep coming back to the fact that the majority of what I need can be done in VS and Office.

Don't get me wrong, the idea of Emacs is awesome: a configurable text editor using a dialect of Lisp? This is great, not only can I shape the tool to my needs, I also get to use a great language. However, at some point I do need to get my work done.