Hacker News new | past | comments | ask | show | jobs | submit login
Poll: What is your primary editor?
74 points by pmoriarty on Nov 30, 2014 | hide | past | favorite | 96 comments
Vim
411 points
Sublime
341 points
Emacs
160 points
Atom
49 points
Notepad++
36 points
TextMate
36 points
None of the above
34 points
XCode
33 points
Eclipse
28 points
Visual Studio
25 points
IntelliJ
13 points
Netbeans
12 points
Geany
11 points
Kate
11 points
GEdit
10 points
TextWrangler
8 points
Komodo Edit
6 points
Nano
6 points
PyCharm
6 points
BBedit
5 points
Notepad2
5 points
SAM
5 points
cat
4 points
Chocolat
4 points
SciTE
4 points
Jetbrains
4 points
WebStorm
4 points
ed
3 points
Coda
3 points
Espresso
2 points
jEdit
2 points
TextEdit
2 points
Acme
2 points
Android Studio
2 points
Brackets
2 points
LightTable
2 points
vi clone (other than vim)
2 points
Aptana
1 point
Byword
1 point
Dreamweaver
1 point
EditPlus
1 point
Notepad
1 point
RubyMine
1 point
Diakonos
0 points
E
0 points
Mochiattto
0 points
PSPad
0 points
Pico
0 points
SKEdit
0 points
Smultron
0 points
SubEthaEdit
0 points
TextPad
0 points
UltraEdit
0 points
mcedit
0 points



Visual Studio for C#/.NET work (usually webapis)

Sublime Text for Javascript and other general text editing

Our whole team generally uses these editors, though they have to use VS, they are free to use anything other than Sublime for JS stuff - they still prefer it though

I still have Notepad++ hanging around from before I started using Sublime but will no longer feature on my next workstation builds.


For me, it depends on what I am working on.

Android Studio : Android development.

XCode : iOS development.

PyCharm : Python projects.

RubyMine : RoR projects.

WebStorm : AngularJS projects.

Sublime Text : other Front-end, NodeJS stuff and everything else (including making grocery list, writing down phone numbers).


You have a lot of tools to master. Apart from Android and iOS development you could probably stick to and improve one editor (preferably Vim winks) for all the other projects.


You're right. It looks like there're a lot of IDEs to maintain & shortcuts/configurations to remember.

Thing is, Android Studio, PyCharm, RubyMine & WebStorm - all of them are different flavors from JetBrains.

So, I just did shortcut + UI configuration once and now I am sharing same configuration for all 4 of them. As a result, now they all (and at some level, Sublime Text as well) share same shortcuts, theme (Monokai), fonts(Monaco) and help me with smart autocomplete & intelligent environment based on platform/project :)

I definitely want to move to Vim one day.


PyCharm, RubyMine, and WebStrorm are all different flavours of JetBrains IDE so it's not really like three different tools.


I use Sublime, but mainly because its search features are the best I've seen in any text editor. I can grep the entire codebase I'm working with for a specific string or pattern, or limit the search to specific kinds of files or files in specific directories, and see the results listed one after another in the find tab. Click on the result I want and I'm editing that file in that spot.

I've considered trying out other editors (Emacs, Vim, etc) but I haven't seen much in the way of first-party multi-file grep like I have with Sublime.


Just a small sampling of what's out there that could search just as well or better:

For emacs:

  helm-ack[1]
  helm-ag[2]
  helm-git-grep[3]
For vim:

  ctrlp[4]
  unite[5]
[1] - https://github.com/syohex/emacs-helm-ack

[2] - https://github.com/syohex/emacs-helm-ag

[3] - https://github.com/yasuyk/helm-git-grep

[4] - https://github.com/kien/ctrlp.vim

[5] - https://github.com/Shougo/unite.vim



Emacs has all of this as part of the popular projectile package for project management. https://github.com/bbatsov/projectile Some of the more advanced stuff is generally included in the search-specific packages, e.g. grep or ag.


> I've considered trying out other editors (Emacs, Vim, etc) but I haven't seen much in the way of first-party multi-file grep like I have with Sublime.

In emacs you have M-x rgrep (M is the metakey, alt most likely). It greps all the file in your project, I don't know if Sublime's grep is different.


Not all "first-party" but Vim has a very very rich set of search and file management features:

http://benmccormick.org/2014/11/10/vim-workflows-file-switch...


I don't like how Sublime opens the search results as a text file in a new tab. TextMate2 has all of these search features too, except it's all in a nice dialog window. Also, its Find & Replace feature live-previews your changes inside the dialog. It's really nice.


eproject[1] by Jonathan Rockway[2] supports project-based grepping.

[1] https://github.com/jrockway/eproject

[2] https://news.ycombinator.com/user?id=jrockway


I use Coda2 because it integrates the IDE, terminal tabs, browser tabs, and my (s)FTP file management all in one fullscreened window. Having my entire workflow contained within one app keeps me focused!


I found your comment very interesting: I've been using vim for a few years now and wouldn't consider changing (except for Emacs with Evil mode) because I like doing everything without lifting my hands from the keyboard.

But reading your description, I'm left slightly envious and pondering how vim could be integrated better with a browser with web development in mind specifically. I'm not sure what it'd be but it gets me thinking :)

I switch between the two easily enough but I often have to click somewhere to activate the browser part or DevTools. Switching between tabs in devtools is also inconvenient. So that makes me think of a custom app with vim bindings integrating vim, the browser itself and its developer tools... Sadly I'm afraid that would be a huge amount of work in languages I don't know to get that going. Still, thanks for making me think about it!


I'd love to be able to fully control and test the browser without using my mouse. I try my best to only use the keyboard when editing which makes the switch to 'mouse mode' even more painful.


Funny you should mention that, I just got an external custom programmable USB keyboard from XKeys. I got the 68 key version with the jog dial.

I can launch apps, I have shortcuts for:

- most frequently used apps (including 3 browsers)

- common shortcuts (command-R, Command-Shift-I, Command-Q)

- one-touch window control (resize between 4 preset widths)

- a numpad specialized for inputting numerical CSS values

And then the rest are like shift keys that change the function of the shuffle wheel. The wheel can scroll, change screen brightness, move the cursor, select text, change volume, zoom in browser and more.

Here's a quick screen capture of me using it on my first week having it. Everything you see here is contolled from that one extenral keyboard, no alphanumeric keyboard or mouse used for the duration of the recording,

https://m.youtube.com/watch?v=NRcyHuMKCRI


AwesomeWM + Conkeror... Switched to it and never looked back.


Firefox with pentadactyl and a tiling window manager (I use xmonad, i3 is also good with less configuration).

Super+[1..9] = switch to workspace. Super+hjkl = move between windows.


+1 for Coda, one of the cleanest, nicest workflows out there.


Jesus Christ, what is the point of listing ed and cat, but not Visual Studio or Jetbrains products?


people use ed (e.g. me)!


Does anyone actually edit text with cat, though? :-P


I have done (well cat and echo), once. It was a choice of cat or ed, and having never used ed, I figured cat would be easier. Once I'd put out that fire, I went and taught myself ed, and have never used it since.


IntelliJ for Java-related projects.


+1

Where is it in the list if Eclipse is already there?


Needs a VisualStudio option?!


It's an IDE and this was about editors (or so I thought). Some the editors in the poll such as emacs can support basic IDE development (at least a debugger with watches and stepping), but I'm assuming those of us who develop in an IDE should vote for what editor we use for text editing and other general work.


Well, Eclipse, Netbeans, and XCode are all IDEs... soo...


True. Then VS is missing, and the poll is a bit weird as many would use an editor to edit a config file on their computer, but also use an IDE for all dev work (personally I can't fathom why you would prefer developing without interactive debugger etc.). when I edit drawings I use a cad program, and when I edit letters I use ms word....


"(personally I can't fathom why you would prefer developing without interactive debugger etc.)"

One may prefer developing without an interactive debugger because they want to be working in a language or environment where an interactive debugger is unavailable.

You can also have an interactive debugger without an IDE.


Sure. But I'd be very hesitant to even consider picking such a tool unless it was the only option, and even if it was I'd probably start by making some form of IDE integration first it I was to work with it for a long time.

What I meant with "interactive debugger" was a debugger where stepping and breakpoints are set in the main editor, and values/watches are also there. Editors that handle this are in my opinion pretty much IDE's.


Ya, I was looking for that also.


To my fellow Vim users out there, I would like to ask why you use Vim?

For me, Vim is what my mentor was using so it's what I picked up. It's command-line oriented which is a huge win for me, and it's available everywhere (Mac includes it by default), and I haven't hit a roadblock that's been painful enough to get me to sincerely investigate other editors.

What has led you to continue using your editor of choice?


I used to use Vim as just another editor until I understood the importance of modes (through Drew Neil's Practical Vim[1]). He explained how the various modes allowed the programmer to, while at work, go through the same motions a master painter (a profession I deeply respect). I was sold, and now I see myself as a painter more than a programmer. Sometimes you need these stories, not extra features, to prefer a tool over several others.

[1]: https://pragprog.com/book/dnvim/practical-vim


I was a C# and hence VS user for many years, so I mainly used that, but at the same time, also casually used Vim for editing csproj files, MSBuild scripts and the like. Then I moved away from C# and Windows to Linux and DevOps stuff. At that point, I started to use Vim fulltime. Getting into it, I saw you could keep your configuration in a dotfiles repository, so that you didn't need to remember how to setup a billion plugins on a new OS install (although admittedly, that's true for any editor) and that was when I seriously invested time in getting a good setup.

Now, I just can't imagine going back to anything else. No matter how good you seem to get, you just never stop learning stuff about it that makes it easier to do your work. Initially I was afraid of not having intellisense, as I'd developed what I consider to be a bit of a crutch on that, from years and years of using VS. But, it turns out, you can get very near IDE like intellisense with plugins like YouCompleteMe. For me, the approximation is acceptable, due to all the other power that comes with Vim.

I also love that I can use it in the terminal (I don't use gvim) and still have it look fantastic, meaning, using it along with tmux, I rarely need to leave the terminal for anything now. I like that, because it means I get to learn how to do everything really fast on the command line, without the aid of a mouse. I really just consider the whole command line environment to be my IDE now, and I love it!

I do have to admit though, if I was still doing Java or C#, I'd probably still keep the IDE around for doing big refactors and some code analysis. Now though, I'm mostly using dynamic languages and bash scripting, so the full IDE isn't as necessary (at least I haven't found it to be, so far).


Vim is what we used in school in my first programming class.

While I understand the appeal of IDEs, I hate autocomplete as I feel like it gets in the way more than it helps. I type faster than most people I know though so that is probably why I don't really appreciate the autocomplete. I really really hate having to constantly use the mouse.

Finally, I am fairly new to working but I really feel like using vim and the command line usually makes it so that you have a better understanding of what's happening. I don't think this is a problem inherent to IDEs but more that because they do so much for you, it's much easier to just get things done without actually having to understand what it's doing. I've had many teammates who could tell me how they got something working in terms of the steps they took in their IDE but could not tell me what those steps actually translated to doing (e.g. I went to this menu and did this as opposed to I had to add a dependency to so and so)


But is autocomplete the only feature distinguishing the IDEs from the editors? I'd say interactive debugger/watches etc are most important, followed by graphical tools in the case of frontend mobile/desktop development.

Autocomplete isn't about speed, it's about context sensitive lookup in documentation. You should never have to alt-tab to a browser to check a function signature, that costs too much.


Ah interesting. Yes it's kind of sad but to be honest I still debug all my programs via print statements (and reasoning). I've been meaning to learn how to use gdb/jdb/whatever for a while.

And I completely agree that having autocomplete for lookup is really awesome. I usually do just use the browser to check it. It's silly, and I'm not going to say that I'm faster than someone using an IDE, but using an IDE just gives me too much stress.

But the most important thing by far is that I like how using a text editor forces me to really think about everything. For example, the way you order your imports, or what packages things belong in, how methods are named, etc matter much more. And I know it's silly but I find being forced to memorize method signatures enjoyable like a game of sorts, and in a way it pressures me to make sure my method/variable names are all very reasonable so they are easy to remember.

I guess I'm just not hardcore enough to go after every bit of programming efficiency! I try my best to enjoy my work =D (not that I think you don't enjoy your work because you use an IDE of course!)


Yeah I just like to leave neat code (like sorted import statements) but not do the work. And I just get more joy out of thinking about the logic of the code rather than worrying about whether the string arg or the int arg comes first in that 2-arg method. I get completely stressed by most IDE's where it feels like swimming upstream and you just long for something that gets out of your way. But VS or the Jetbrains products just do that: they get out of your way so you can think about code.


I totally get you. I usually have the logic of the code already sorted out before I actually start coding though, so trying to recall those things usually just makes it a little more interesting for me than just typing everything out.

It definitely adds a lot of work in having to consciously write neat code the first time around, although I also enjoy thinking about something like what ordering of import statements makes the most sense.

Anyway I'm just glad there's an option for everybody =]


Ubiquity, elegance and efficiency. I've been writing a series of blog posts on Vim that you may find interesting. http://danthedev.com/vim-part-1-why/


With as much time as I spend on remote systems for my entire career, Vim was a natural choice. At first, I used it simply due to this fact, but over time I learned more and more about Vim's capabilities, and I still use it regularly.

I've found MacVim to be a mixed blessing over the years; I appreciate the combination of fully featured Vim combined with the native Mac editor interface, but I honestly prefer to be in the terminal as much as possible.


I was a big Emacs fan once. I abandoned it in favour of vim for two reasons: longer shortcut sequences and it sucked in the terminal, shortcuts clashing with terminal sequences.

Vim has huge ecosystem (plugins, color schemes, integrations etc), available everywhere, starts in a blink (unless you screw up the config)


While I can give a lot of reasons why I think I still use vim and why that's not a bad choice, I'm sure the primary explanation for why I use vim is that it's what my father used and introduced me to when I was young.


I switched to vim after seeing the astonishing speed possible in Gary Bernhardt's ruby screencasts. My vim chops just get better all the time, the depth and breadth seem limitless. It always gets faster and easier.


Oh, I don't even know how to answer, really. I used quite a few editors (and IDEs) at one time or another, tried vim, because somehow it felt that everybody is supposed to try vim sooner or later, and still am using it. I don't feel like vim is perfect, it's just best what I've seen so far. Clones of Textmate and such doesn't really count as text editors after you used something like vim or emacs and probably I'm just not old enough to consider something like acme when I was still in search of a text editor. And vim ultimately is how software should be in my opinion: fully configurable through text, no UI if not needed, lots of simple shortcuts for everything (which isn't really achievable without modes, however it's what I understood only much later). And command-mode, yeah, it's crucial. In the last years there appeared several more editors striving for something like this: Yi (which looks promising, but I never tried it; and I suspect there's much worse situation with plugin availability yet, anyway), Sublime (isn't really better than vim to be worth switching, configs aren't as simple as vim's, didn't have solid vim-mode the last time I checked and is much less ergonomic by itself, also problems with plugins, and — huge disappointment, really — it's proprietary; proprietary text editor?! Just no.), Atom (I didn't play with it much, but I impressions aren't the best — first of, damned humans, they use WEB-BROWSER ENGINE to edit text in 2014! Not that my computer hangs up when I run Atom, but still it's pretty heavy; I somehow expected text-editor implemented by github to be more usable out of the box, and it isn't, cannot even properly highlight many languages out of the box; and this LighTable-style command prompt — I don't know how I feel about it; it's nice, but, again, there isn't such simplicity as in vim, it autocompletes everything even if I entered something comletely non-autocompletable; and I'm not that big fan of coffeescript). So, yeah, nothing good enough here. Several times I tried to switch to emacs, which I almost like (although, again, it also isn't perfect, too much built-in useless stuff (like ugly GUI) and I'd like to use some Clojure instead of elisp), but it just didn't play well somehow and I came back to vim every time.

But vim's simplicity also comes with few huge minuses: vimscript (and don't say "neovim" again, it solves nothing), and, well, no GUI (that is, even in gvim it's still only text-editor, you can't inline image or show rendered markdown or latext in the same window, no matter how much you want to). Both are pretty serious problems, as they slow down/prevent from making new plugins as easily, as in emacs for example.

So I see future like this: vim dies, everybody switches to neovim, because it's trendy, and I finally switch to emacs with evil-mode.


I'm a big fan of Geany, it's a polished lightweight editor with good defaults and all the settings I need to keep my code formatted how I like it. I use the Solarized Dark theme (https://github.com/codebrainz/geany-themes), works well for all languages I tried and is easy on the eyes.


Definitely missing a IntelliJ/Webstorm option


Brackets also missing.


I came here seriously expecting Sublime to win out. At the time of writing, Vim actually has a narrow lead (267 vs. 239) - and third place, Emacs, has less than half that, with 119.

That surprised me quite a bit.


Atom for most things. e.g. Ruby/Rails, Python etc. etc.

Brackets for purely HTML/CSS/Javascript/jQuery

nano for editing anything in a terminal (heck I even have it installed on Windows). I've heard good things about vi(m) or emacs but they seem like they take a while to get 'good' at and they have some strange keyboard shortcuts etc. If you need a tutor for a text editor surely that's a sign? Nano is just simple and works.

Visual Studio for doing any C#/GUI stuff or for VB college work.


Visual Studio for C#, Netbeans for PHP, LiteIDE for golang, any terminal program for FORTH on microcontrollers, and nano or generic text editor for about everything else.


Atom and Brackets, especially Atom, are beautiful.

I've stopped using standard text editors like Kate and KWrite and switched to Atom and Brackets for creating simple text files. Who doesn't like writing in Markdown?

And because I don't think it makes sense to ask people to learn how to use a text editor before they can edit a simple file, I always recommend and use Nano when I need to edit or create from a shell terminal.


Did anyone ever spend much time with Light Table? I gave it a chance when the Ruby plugin was new but missed my Sublime plugins and shortcuts too much.


I'm slowly trying to switch from Vim to Light Table. There are a couple of bugs in Vim emulation plugin that I think need to be solved before it becomes useful enough to me. E.g. issues with *-search.¹ But I'm optimistic those will get fixed fairly soon.

> missed my Sublime plugins and shortcuts too much

I'm not a Sublime user, but have you tried configuring Sublime-style keymap? Light Table uses CodeMirror, so first you may want to play with CodeMirror Sublime bindings demo.² If it's good enough for you, then it should be relatively easy to adapt Light Table.

1. https://github.com/LightTable/Vim/issues/13

2. http://codemirror.net/demo/sublime.html


I've been an Eclipse guy since college (12 years ago) and haven't seen any need to change. I used vim once for a small Ruby project (couple of days) and came away thinking "I don't see how, even with years of practice of keystrokes, etc, someone can be more productive in vim than a modern editor." And went right back to Eclipse.


A) I use $modern_editor_b because emacs/vim doesn't have this one feature.

B) emacs/vim does have that feature! just download this package manager and then use the package manager to install this addon if you're using python, this addon if you're using c, etc. etc.

A) That's too hard! I just want to get to work!

B) You're lazy and dumb! Type uphill both ways!


I used to hop from editor to another but decided to force myself to get used to vim and it's just refreshing how awesome it is.

Even with my minimal Vim setup, it rocks https://github.com/jeffgodwyll/dotfiles/blob/master/.vimrc

Any tips to improve?


Coda -- purely, because of the ease of remote-ssh. Otherwise I'd be ST2 most likely.

Visual Studio for Winblows work


Emacs, but at this point I've got it to a point where I'm mostly comfortable with it, there's still a bunch of annoyances, but I haven't hacked the configuration substantially in years. I keep meaning to get to it, but other things keep getting in the way.


Seems like: Sublime vs Vim vs Others.

Personally I switched from Sublime3 to TextMate2, though. Never looked back.



I just recently paid for PyCharm 4 which I use for python projects, Intellij for Java Projects and Android Studio for Android Development. I use sublime for general editing.



Its not clear why anyone cares what my text editor is.


People seeing a high number votes for an editor they have never heard of may check it out and discover something new.


Great resource for new programmers. Which editor is here for the long run? Which editor is actively developed? I'd assume that for any other that's used by a majority of people who bothered to tell everyone here. Editors affect productivity too. Perhaps TJ Holowaychuk is extremely productive because he uses X editor.


To compliment the "why vim?" question elsewhere in this thread, for my fellow Emacs users: why Emacs?

How did you start using Emacs?

Why do you still use it?


I switched to Emacs for Org mode because I wasn't satisfied with any of the note-taking solutions I had tried (I had hundreds of pages of notes in various file formats). I now have an Org-mode-powered personal wiki that includes a few thousand documents. Even if I were to switch to another editor/IDE for programming (which I can't imagine doing at this point), I'd still use Emacs for note-taking.


I was a VIM guy for some 3 or 4 years... but then... I wanted to learn LISP. Aaand... you can't try to learn LISP without Emacs.

So, Emacs + Evil Mode and some months latter, I'm a full converted.

My last play-out with Emacs was org-mode... still learning it's awesomeness.


Eclipse for java/groovy project vim as linux/unix general editor notepad++ as windows general editor


Visual Studio for C# work, Pycharm and WingIDE (not included in the list above) for Python work.


Lighttable. Good for anything I do.


Visual Studio


GNU Emacs. The first thing I install on every computer I have to use for more than an a day.


nvi that comes with FreeBSD. sometimes i miss features but it feels more friendly than vim.


WebStorm for development, Atom for a GUI, and VIM when I'm in the console.


What languaes do you touch in Webstorm?

I often edit PHP AND Ruby templates that have HTML, CSS, and JavaScript embdeed within them and I struggle to find an editor that can apply syntax highlighting to that mix-mash of languages in one file correctly. Do you ever edit jumbled multilingual files in Webstorm?


I use codeblocks for C++. Any reasons to switch for VS or something else?


Visual Studio is definitely one of the best IDEs for C++. Granted it only works on Windows.


Coda.


> cat

Really?


Cat is perfect for editing. Just start with 128 files (one for each ascii character), and build up new files as necessary.

(No, not really - I had the same objection...)


Real programmers use cat: http://xkcd.com/378/.


I agree, that should be sed.


Needs a WebStorm option


Eclipse for java

Lighttable foe clojure

kate for other code and text files

mcedit in console


Android Studio


intellij


This is the worst poll presentation ever seen. F*ck yeah Silicon Valley \o/


Sublime Text


KEdit


sam is here, but no acme?


It's in there, though I don't know why it's the last entry.


ed




Consider applying for YC's Spring batch! Applications are open till Feb 11.

Guidelines | FAQ | Lists | API | Security | Legal | Apply to YC | Contact

Search: