6 ms·
Ask HN: What editor do you use?
More specifically then the general title, what editor (or IDE) do you use, and for what languages. Why do you use this editor, and what features does it give?
I am most interested in Python, Ruby, and Javascript.
I currently use Aptana for javascript editing. It gives me a nice editor (I like eclipse editor), a 1/2 useful outline, sometimes actually does auto-completion of variables instead of me having to type it all out, A pretty decent code formatter, and a tad bit of syntax errors as you type. However I am not a big fan of it, it has a bunch of features but its more of a jack of all trades master of none editor. Most features are incomplete at best.
- quellhorst 18y agoI recently switched to emacs from textmate/vim. I still use vim for small configuration files. There is a recent peepcode on emacs and rails. http://peepcode.com http://peepcode.com
- nreece 18y agoNotepad2 (http://www.flos-freeware.ch/notepad2.html http://www.flos-freeware.ch/notepad2.html) and Visual Studio .NET 2008
- shutter 18y agoCurrently, TextMate. Started learning Emacs, though, and hope to get proficient in that soon (via O'Reilly's "Learning GNU Emacs"). TextMate's showing its age, for me at least, and I'm hopeful that Emacs will be more powerful and faster.
- astrec 18y agoI went from Emacs to Textmate and back again: Textmate showed much promise as a modern programmable editor, but as it turns out I work several times faster in Emacs. Time is money and all that.
- gaius 18y agoKomodo (www.activestate.com)
- alanb 18y agoThe thing I like about Komodo is the graphical debugger which even works for threaded Python. As an editor, it is okay and has the useful feature that it's interface is very similar on Windows, Mac, and Linux (it's built using Mozilla's XUL).
- GrandMasterBirt 18y agoIt looks promising, I am going to try it out, see what features it has. Can you give any more description on what you like about it and what language you use it for? EDIT: Maybe I am missing something, but this seems like a regular text editor with no nifty features like code outline. What does it actually give you over something like vim?
- joshsharp 18y agoThere is a paid Komodo IDE - I believe the free version is only a basic text editor. I use Komodo for Python, but find it hit and miss. Still looking for something better.
- gaius 18y agoThere is a limit to what any editor can give you for any language that's not amenable to static analysis.
- bmj 18y agoI used Komodo Edit on and off. It does have code completion in some languages (my experience is with Javascript). It also does code folding, among other things. I found it to be generally useful, and the mixed mode syntax highlighting work well (actually, for my situation, it handled it better than any other editor). It isn't as fast as other editors, though. The project explorer can be particularly slow.
- qhoxie 18y agovim and gedit. gedit has come a long way with its plugins, definitely worth checking out. scribes is another one worth looking, but lack of tab support keeps me with gedit.
- nailer 18y agoWow, I never expected as many people would be open minded towards gedit. Sometimes in Unix, it's hard to convince anyone that something with easier, more discoverable customization is better than vim. Wish it had a tabbed terminal, and code folding though.
- dhotson 18y agoI use Vim & jEdit. I use Vim for editing stuff from a shell.. mostly small to medium size editing tasks. It's really good once you've got it set up properly. You can get all the usual stuff you get in IDE's such as syntax highlighting, split windows and tabs, autocompletion, source control integration.. the mouse works great too. Actually learning how to use Vim effectively takes some practise, but it's totally worth it. For more heavyweight editing/programming tasks I use jEdit.. it's a really good editor for nearly any language. You'll probably want to get some plugins for it though, the vanilla install is a bit basic.
- GrandMasterBirt 18y agoI tried the Netbeans Ruby editor... and wow the difference between that and anything for eclipse is major. Code completion is useful. It can figure out what class I am referring to pretty well. Ctrl+click works nicely to see the definition of a method (no matter where it is declared, and it finds them quite well, shows list of choices if it is unclear). Definitely worth a try for ruby.
- rickharrison 18y agoI live and die via Coda (www.panic.com) Best editor I could ask for.
- teej 18y agoI found that Coda was incredibly useful for PHP and flat HTML/CSS and hardly useful for anything else.
- unalone 18y agoIt's much better for PHP and HTML/CSS. It's geared towards that. For other languages it's just as powerful, but it doesn't have the same one-window-does-everything aspect to it.
- mdolon 18y agoNotepad++ on Windows, gedit on Linux
- KevBurnsJr 18y agoNotepad++ is relatively customizable once you get the hang of it. This editor handles HTML and JS in PHP files very well. However, I've yet to find an editor for Win XP that does a good job with ruby syntax highlighting in erb files.
- tolmasky 18y agosubethaedit http://www.codingmonkeys.de/subethaedit/ http://www.codingmonkeys.de/subethaedit/
- hs 18y agovim, for everything ed, when i really have to
- SwellJoe 18y agovim or emacs: pick one and get back to work. Editing text is a solved problem.
- Prrometheus 18y agoI'm learning Python in emacs after learning Matlab with its default editor and environment. I miss the visual file trees and the easy visual debugging, though I haven't completely gotten used to the emacs way of doing things yet. It does strike me that learning the emacs way is harder.
- alexkay 18y agoDebugging is overrated, at least for Python. Have a clean codebase with a good test coverage and you will never miss the visual debugger.
- Prrometheus 18y agoDoesn't emacs really make more sense for a low-level language, though? A programmable editor seems like it would be more helpful with more code and more code repetition. Maybe it's because I'm starting with Matlab/Ruby/Python, but I really don't get why emacs and vim are so awesome. I'm following the advice of the sages and learning emacs anyways. But mostly it's because I figure the sages are smarter than I am than actually seeing the need for it. Also, debuggers are REALLY useful when you're learning a language for the first time. I shudder to think what my last machine learning project would have been like without a debugger. Maybe when I'm an ace, I can "just write good code and tests". But I'm not an ace, I'm a newb. I like seeing what my variables are doing and trying out commands that I think might do what I want them to do.
- scott_s 18y agoI relied on a visual debugger (in Visual Studio) for much of my undergrad. In grad school (including now), I rely on gdb and printf/cout statements to debug my code. I find printing the value of variables, and saving the record to a file, a valuable means of debugging. Instead of only knowing the current state, I can construct a picture of the entire execution of my program. Gdb also lets me do most of the things I did in Visual Studio. Most importantly, it tells me the line where the program crashed, and if I need to, it can tell me the state of variables. Notice this has nothing to do with the editor I use (although I use vi). Visual Studio is an Integrated Development Environment - IDE. Once you learn enough Unix tools, Unix itself becomes your IDE.
- walesmd 18y agoI use Intype for all of them - used to use Notepad++.
- graemep 18y agoKate and Geany, depending on whether I want the better editor, or need an IDE, and Quanta for HTML. Kate is very configurable and (like any KDE app) can open files over sftp which can be very handy.
- basil 18y agoYou've listed scripting languages there which arguably means you don't necessarily need an IDE. By this I mean, there is no code-compile-test cycle and you don't need an IDE to take care of your builds. Possibly the most efficient way of coding would be in a shell with your choice of Vim or Emacs. You have quick access to your choice of VCS, you can tail log files, you can use your language's REPL and you can grep for things across your whole project. As well you will have minimised your usage of the mouse which is a great speed and flow inhibitor. Take the time to learn either of the 2 great editors. The investment will most certainly pay off.
- vorador 18y agoWhich editor we use doesn't matter, pick an editor an know it _well_ Btw, emacs has an excellent mode for editing python and I couldn't live without its auto-indent feature
- merrick33 18y agoCoda now, used to use textmate but found textwrangler had better grep features and memory management when opening large files
- andrewljohnson 18y agoEclipse, and I mostly hack in Python and Javascript. Why, why you say? I guess just three main reasons: 1) I am a very visual person, and like to see the project hierarchy. I like to click the file I want, instead of just using my keyboard. I know this flies in the face of the purist Emacs and Vim users, but I'm only about half hacker, and I like my clickey click. 2) I like the tabs at the top (as opposed to buffers that you can't see). I like to see the group of files I'm currently working with. 3) I like the Aptana plug-in, which does nice mark-up of HTML, Javascript, etc. It makes Eclipse a fairly nice web coding editor. I also like Pydev. So Eclipse supports all my favorite languages. I do wish Eclipse were faster and stripped of many of its components. Also, I do use the command line for things like SVN and running commands in the terminal like "python manage.py runserver." But I like Eclipse as an editor. Maybe it's just because Eclipse is what I'm used to. I suspect that is the root of all preference.
- immad 18y agovim 7 has tabs the are sooo useful. :tabe filename to open something in a new tab and gt to flip between them
- 1gor 18y agoEmacs can be very visual if you use ECB (check http://emacsonrails.drozdov.net http://emacsonrails.drozdov.net screencast for an example): a) A directory tree b) a list of source files in the current directory c) a list of functions/classes/methods/… in the current file, (ECB uses the Semantic Bovinator, or Imenu, or etags, for getting this list so all languages supported by any of these tools are automatically supported by ECB too) d) a history of recently visited files, e) the Speedbar (directory hierarchy) and f) output from compilation (the “compilation” window) and other modes like help, grep etc. or whatever a user defines to be displayed in this window.
- andrewljohnson 18y agoYou always get this answer from emacs users. "Emacs can do such and such." But the reason Eclipse probably hooked me is it does these things out of the box. There's just such a huge barrier to entry to using emacs, that being the burden of configuring it to your liking and/or learning the arcane keyboard shortcuts.
- rantfoil 18y agoTextmate is absolutely essential for Ruby on Rails / Ruby development. What I realize now is that it's a scriptable text editor that integrates super well with everything you want to do with Rails. Basically anything you'd like to do with Rails, someone's written a bundle for it. This is particularly useful for testing using RSpec/Cucumber or your favorite testing libs.
- dmpayton 18y agoOn my machine I use Komodo Edit; when I'm editing a file server-side I usually use nano. ducks
- Shamiq 18y agowhen I'm editing a file server-side I usually use nano. I did that yesterday -- my sysadmin flipped.
- hbien 18y agoVim, TextMate, and XCode. XCode for Objective-C/Cocoa, I've tried using TextMate but XCode is just so damn easy to use for Cocoa projects. Vim for lightweight stuff, like piping diffs into it for color or quick edits on servers. TextMate for web development with Python/HTML/CSS/JS. During college, I read PragProg and thought I should just stick to Vim for EVERYTHING, including command line key bindings. That changed real quick after doing work outside of classes.
- epicurus 18y agoAs I'm only half a hacker and hate learning arbitrary stuff, I use nano. I think the next leap forward with text-editors is when we get some sort of interface with our eyes, or more importantly, our brain and the computer. There was an link on HN a few weeks or so ago showing they could distinguish letters from brain patterns. Surely this will make learning those vim/emacs commands obsolete. I will just bide my time.
- macco 18y agoI use gedit with a lot of plugins for all of my programming. I mainly programm in Python. Only exception is when I play around with lisp, then I use Able. Other interesting editors for linux that I know are Scribes (very well planed and writen, with a unique concept, but only one developer, so development is slow) and Komodo-Edit.
- kzar 18y agoEmacs here, just watch some of the screencasts that are floating about if you want to see what it can do.
- talleyrand 18y agoI use Geany which is very nice indeed. I use it for PHP and javascript. When I switched to Linux, I spent a long time looking for a replacement for my beloved PSPad and this was it. It has solid support for gvfs, good syntax highlighting, and a host of other features.
- iamelgringo 18y agoe text editor on XP. For a decent command line, I use Powershell inside of Console2 and iPython. If someone wanted to make a lot of money, they'd create a better wrapper for cmd.exe or Powershell.
- olifante 18y agoCurrently using TextMate and enjoying it. Used many editors, but the ones I used the most were vi, vim, jEdit and emacs (ordered chronologically)
- rsayers 18y agoEmacs I do PHP professionally, mainly Ruby with my own projects, but I dabble with lots of languages. It's very powerful and any feature it doesn't have, I can add myself. Yesterday I was prototyping something for work, I had my main php file open along with the js and css files all in their own split window. More than one co worker stopped in to see what editor I was using after noticing my screen. The learning curve is very high, but print out a cheat sheet and keep it near you, in less than a week I had the basic functions memorized and now rarely need to look up a command (generally an obscure one). Once you get the hang of it though, every other editor feels crippled, that's my experience at least.
- randallsquared 18y agoSmultron (on OS X) for GUI editing, where I typically want a bunch of files open and their names visible at all times, and vim on the command line. On the Mac, one nice thing is that most editors and (S)FTP clients support the ODB Editor Suite, which means that such an editor and transfer agent can work together seamlessly as though they're part of an IDE.
- kirubakaran 18y agoemacs http://github.com/ki/my-dot-emacs/tree/master/dot-emacs.txt http://github.com/ki/my-dot-emacs/tree/master/dot-emacs.txt vim when necessary
- icey 18y agoA thousand thank yous for having a .emacs file that has been commented so well and is so easily understandable.
- kirubakaran 18y agoYou are most welcome and thanks a lot. Your comment made me so happy :-)
- jamesbritt 18y agogvim
- drhowarddrfine 18y agoAn IDE is not an editor. Don't be confused.
- r11t 18y agoI am suprised no one mentioned IPython? (http://ipython.scipy.org/moin/ http://ipython.scipy.org/moin/) IPython + vim is a nice combo for Python programming.
- sm13 18y agoEclipse for PHP projects. PSPad (a very nice and free editor) for Python PHP and general quick and dirty editing. FlashDevelop for ActionScript. This last one was truly a happy find, with all the VS look and feel and a very comprehensive toolset, again for free.