Ask HN: What code editor do you use?
143 comments
I used to use jEdit, which is still a very nice editor. And it ran on Mac/Unix/Windows, which was good because I moved among all three systems. But the last I looked (three or four years ago) development had stalled. And I got into a job where I periodically had to SSH to various Solaris boxes and edit on the console, in Vim. I knew just enough Vim to edit config files and simple shell scripts without too much pain. Then I'd come back out to jEdit and start putting :s and other Vim commands in my files. It was hard to shift gears.
So I decided to pick an editor that I could stay with for a long time, maybe forever, because it did so many things and was so configurable. It had to run on my Mac at home, the Windows nd Unix machines at work, and also on the console. It came down to Emacs or Vim. My boss was an Emacs guy, and could do wonderful things with it. But I'd had a few RSS problems, and I'd read about what Emacs did to some users' hands. So I went with Vim, and I'm very happy with it.
Really, the only downside is that I don't have Vim everywhere, so when I'm stuck somewhere that doesn't have it my hands do the wrong thing. (Like in our crappy email system. I write long messages in Vim and paste them in, but I do short ones in the mail client. And hit escape when I'm done. And then hit cancel to say that I'm not abandoning the message.)
As far as I know, the only editor more configurable than Vim is Emacs. But Vim does do a lot. I use it for Ruby, shell scripts, HTML, CSS, XML, Perl, prose, looking around in log files, and more. It handles long files easily. You can script it with its built-in language (not as powerful as ELisp, of course) or other scripting languages.
I sometimes meet people who don't know the difference between Vi and Vim. When I say I use Vim they ask how I can get by with such a limited editor that won't split windows and doesn't have tabs and so on. So when I say Vim, I mean Vim 7.2, available at vim.org.
But Emacs and other tools are worth getting familiar with as well. It's good to not be too provincial.
So I decided to pick an editor that I could stay with for a long time, maybe forever, because it did so many things and was so configurable. It had to run on my Mac at home, the Windows nd Unix machines at work, and also on the console. It came down to Emacs or Vim. My boss was an Emacs guy, and could do wonderful things with it. But I'd had a few RSS problems, and I'd read about what Emacs did to some users' hands. So I went with Vim, and I'm very happy with it.
Really, the only downside is that I don't have Vim everywhere, so when I'm stuck somewhere that doesn't have it my hands do the wrong thing. (Like in our crappy email system. I write long messages in Vim and paste them in, but I do short ones in the mail client. And hit escape when I'm done. And then hit cancel to say that I'm not abandoning the message.)
As far as I know, the only editor more configurable than Vim is Emacs. But Vim does do a lot. I use it for Ruby, shell scripts, HTML, CSS, XML, Perl, prose, looking around in log files, and more. It handles long files easily. You can script it with its built-in language (not as powerful as ELisp, of course) or other scripting languages.
I sometimes meet people who don't know the difference between Vi and Vim. When I say I use Vim they ask how I can get by with such a limited editor that won't split windows and doesn't have tabs and so on. So when I say Vim, I mean Vim 7.2, available at vim.org.
But Emacs and other tools are worth getting familiar with as well. It's good to not be too provincial.
I couldn't ever give up vi key-bindings but I liked the rest of emacs more, so I use emacs in viper-mode (comes built-in), which emulates vi. You can use emacs as a modal editor but still fall back on all the emacs functionality.
For most of the time it works like the best of both worlds, but it's not perfect . You can't use viper-mode in every mode and it's obviously not full vi(m) emulation. Installing the vimpulse.el script (google it) adds a lot of missing vim functionality though.
For most of the time it works like the best of both worlds, but it's not perfect . You can't use viper-mode in every mode and it's obviously not full vi(m) emulation. Installing the vimpulse.el script (google it) adds a lot of missing vim functionality though.
I have used both Emacs and Vim extensively. Personally, I find Vim groks the idea of text manipulation much better. The key binding scheme/system actually feels like something that you can build upon, bindings string together nicely.
It's also just much lighter and goes with my preference of using the simplest tool that does the job.
It's also just much lighter and goes with my preference of using the simplest tool that does the job.
I accidentally used Vim the other day. I noticed Vim now has Emacs keybindings -- C-n goes to the next line, C-p goes to the previous line, etc. For a second, I thought that C-x C-s was going to save my file and I was going to be able to exit with C-x C-c. Nope. I had to make the journey over to the ESC key. So close...
I think you're supposed to map Caps to be an ESC key in vim, just like most people who use emacs map it to be an extra Ctrl.
I have jj mapped to Esc in insert mode. If you type it quickly, the two j characters vanish and you escape out of insert mode. If you type them slowly, or preface them with ^v, you get two j characters in your text. I rarely need two j's in my text, of course, so it's a good escape key sequence, but pick whatever you want. I chose jj because it keeps me on home row.
No, you map it to Ctrl, and use Ctrl-[ instead of Esc.
If you're using Outlook, try http://www.viemu.com/ to get Vi command in Visual Studio, Word and Outlook.
I somewhat suspect I'll be unique on this one here. I use nano full-time.
I use it because it is simple, it gets the job done, and I don't find that I need anything more.
It's true it's missing a couple of features commonly found in code editors. But when I start thinking code folding would be useful, I take it as a sign that this file is getting too large and would be better split. Nano also obeys the simple UI principle of having a non-modal interface. I haven't used an editor with bells and whistles for some years, and I'm liking it.
Also contrary to popular belief, nano does support syntax highlighting - this just isn't enabled by default in most distros.
Now, laugh.
I use it because it is simple, it gets the job done, and I don't find that I need anything more.
It's true it's missing a couple of features commonly found in code editors. But when I start thinking code folding would be useful, I take it as a sign that this file is getting too large and would be better split. Nano also obeys the simple UI principle of having a non-modal interface. I haven't used an editor with bells and whistles for some years, and I'm liking it.
Also contrary to popular belief, nano does support syntax highlighting - this just isn't enabled by default in most distros.
Now, laugh.
Now, laugh
Well, I'll admit that was... unexpected, but I am certainly not going to laugh. After all, the best code editor is the one you feel most productive in, and you seem to have a rational explanation for it so sure, knock yourself out :-)
Well, I'll admit that was... unexpected, but I am certainly not going to laugh. After all, the best code editor is the one you feel most productive in, and you seem to have a rational explanation for it so sure, knock yourself out :-)
> Also contrary to popular belief, nano does support syntax highlighting - this just isn't enabled by default in most distros.
Did not know this! FYI, a bit of googling uncovered the following: http://code.google.com/p/nanosyntax/source/browse/trunk/synt...
Did not know this! FYI, a bit of googling uncovered the following: http://code.google.com/p/nanosyntax/source/browse/trunk/synt...
I actually used Nano for a long time as well! I'd been using Pine since 1994 so it always felt quite natural.
If Vim wasn't always available when Nano was, I'd still use it. ;^)
If Vim wasn't always available when Nano was, I'd still use it. ;^)
Oy, a holy war is about to happen.
I'll open the Emacs lobby with http://sites.google.com/site/steveyegge2/effective-emacs and http://sites.google.com/site/steveyegge2/the-emacs-problem
To give the illusion of fairness, here is a blogpost in which I praise Vim: http://zipwith.blogspot.com/2010/05/power-of-vim.html
I'll open the Emacs lobby with http://sites.google.com/site/steveyegge2/effective-emacs and http://sites.google.com/site/steveyegge2/the-emacs-problem
To give the illusion of fairness, here is a blogpost in which I praise Vim: http://zipwith.blogspot.com/2010/05/power-of-vim.html
Thanks for the links. I don't mean to start a holy war, though they are fun :) I'm looking more for a reasoned discussion of the pros and cons of different editing environments.
> though they are fun
not the fifty thousandth time.
not the fifty thousandth time.
Boring for people who've already had the debate a hundred times, I agree, but I think it's not totally bad that some kinds of debates recur, as new people who haven't really participated in the debate before arrive somewhere. There's a sense in which debating an issue yourself, against someone else who's genuinely debating it, gets to understanding in a different way than just reading a writeup of a debate some other people had ten years ago.
Then where are the wars archived?
not sure if that's an honest question or sarcasm or what?
http://en.wikipedia.org/wiki/Editor_war
http://en.wikipedia.org/wiki/Editor_war
[deleted]
Vim is like a virus that plants itself directly into your brain. Using it has crippled my ability to use "normal" text editors. No longer am I satisfied with default application navigation controls. I can't use a browser without Vimperator installed. How can this madness be stopped!?
learn emacs. Yeah, I know what that sounds like. You don't have to also use it forever, just for, say, 6 months. Then you use both at the same time. You're brain will have rewired a pretty sturdy understanding of different ways to edit and you'll be able to switch painlessly between emacs, vim and non-editors (like the HN textbox).
Well anyway, it worked for me. I have no trouble switching between the 3 editing modes while I program, edit configs and write email (thunderbird for now).
Well anyway, it worked for me. I have no trouble switching between the 3 editing modes while I program, edit configs and write email (thunderbird for now).
There is no way, just give in! Soon you will be sitting in Awesome or xmonad or wmii, using vimperator for browsing and vim for everything else ;)
it's not madness. humans are capable of so much if we put a bit devotion into it (e.g. hard-waring finger movement X with vim procedure Y, or even touch typing)
this makes me wondering the limit of human interfaces. how far can we transform into cyborgs through just "practicing"?
this makes me wondering the limit of human interfaces. how far can we transform into cyborgs through just "practicing"?
Madness? This is VIM!
I always hesitate to post on these types of questions: everyone seems to be Java, Ruby, Python, etc and I feel like the Microsoft stack outcast!
Visual Studio 2010 at home and 2008 at work. We're primarily .NET so the two just kind of go hand in hand. I'm also spoiled by intellisense.
I also use Eclipse at work since we've been doing a lot with GWT on the client side (thought still using .NET on the backend).
Finally, I'll often use notepad++ for anything JavaScript simply because it takes far too long to load up VS when I want to do something small/edit a file/etc.
Visual Studio 2010 at home and 2008 at work. We're primarily .NET so the two just kind of go hand in hand. I'm also spoiled by intellisense.
I also use Eclipse at work since we've been doing a lot with GWT on the client side (thought still using .NET on the backend).
Finally, I'll often use notepad++ for anything JavaScript simply because it takes far too long to load up VS when I want to do something small/edit a file/etc.
If you like Eclipse and miss some of its features in Visual Studio I can really recommend Studio Tools: http://submain.com/products/studiotools.aspx
I used to run Resharper when I used Visual Studio 2005, but with 2008 there's much less need for it.
I used to run Resharper when I used Visual Studio 2005, but with 2008 there's much less need for it.
Excellent, thanks for the suggestion. I'm not a terribly efficient coder in that I rarely use keyboard commands, snippets, templates or anything like that. I do try to use GhostDoc and CodeExpress when I can, but I often forget they're installed or the key strokes to do anything useful with them since I've yet to form that habit. Still, when I do use them they're incredibly handy and Studio Tools looks like it will just as much so. The code metrics alone has me wanting to install it. :)
There's one thing I lack for Visual Studio though, and that is the ability to highlight a searchterm in a file.
Anyone knows of a simple way of getting that?
Anyone knows of a simple way of getting that?
It's not a 'simple' way, but I use viemu in Visual STudio, where you can search for things in the vi way: you position your cursor on a word, press * and it will search for the next occurrence of that word, and highlight all matches. # does the same but backwards. So viemu gives you highlighting of search terms, in Visual Studio from 2003 onwards.
It also has vi-style regex searches, and it also highlights matches in that search mode.
It also has vi-style regex searches, and it also highlights matches in that search mode.
In vim, it's :set hlsearch http://vim.wikia.com/wiki/Highlight_all_search_pattern_match...
Emacs has many ways of highlighting search terms: http://stackoverflow.com/questions/385661/emacs-highlight-al...
Emacs has many ways of highlighting search terms: http://stackoverflow.com/questions/385661/emacs-highlight-al...
That's nice, but totally not what I was asking for. :-)
After some more googling it appears Visual Studio 2010 has the feature, almost, and a simple plugin gives the exact functionality I want. Dunno if I want to upgrade to 2010 yet though. Hm...
After some more googling it appears Visual Studio 2010 has the feature, almost, and a simple plugin gives the exact functionality I want. Dunno if I want to upgrade to 2010 yet though. Hm...
Have you looked at ReSharper? It does usage highlighting (http://www.jetbrains.com/resharper/features/navigation_searc...) The extra functionality it adds to VS 2008 & 2010 is really useful. I started using it about a month ago and kicking myself I didn't invest in it ealier.
I used TextMate for a couple of years but lately switched back to vim. This time I invested in a good vim setup with plugins to fill in places where it wasl lacking compared to TextMate. the config can be found at http://github.com/astrails/dotvim
There is a (rather long) README with explanations of what is there and short instructions of basic use.
Thanks a lot for sharing Vitaly. I think one of the hardest things about moving to the emacs/vim world is the fact that, in addition to learning the editor, you also have to find a good .emacs/.vim file to start yourself out with.
That is a great vim setup you have there. Thanks for sharing that!
I've been using vim for about ten years now. A few of my favorite things about the editor: it features the best application navigation that I've ever been exposed to (I also use vi-like navigation in readline, Firefox and mutt); it can open large files without breaking a sweat; it has a great many useful features for quickly modifying text (q, =, gq, cit, ci(, ci' etc) -- something I spend about 50 % of my time at work doing; it's almost always available, I merely download my settings and it feels like home; it features a great ui and I love how close the editor lives to the shell.
The only thing I do not like about vim is that auto-indentation and syntax highlighting feel a bit "shaky". I find many of the editors mentioned here more consistent in that regard.
The only thing I do not like about vim is that auto-indentation and syntax highlighting feel a bit "shaky". I find many of the editors mentioned here more consistent in that regard.
On a work email list I wound up writing something that answers the question fairly clearly:
vi I use to write my code for work,
It's modal and quite light, so quick to type
I'm glad to use it for the great big perk
That it lives up quite nicely to its hype
But emacs I do not so choose for me,
I fear the chords would sorely hurt my hands
And carpal tunnel is so bad you see
That misery makes it for me be banned.
I know this is not good according to
The cult of emacs users that I find
Would tell me to not speak until I knew
Why theirs was the best editor for mind
But I cannot agree with them and so
vi I use and now will say no mo!I'm finding RubyMine to be great for rails webapp development. Hopping through a project to method or class or migration definitions, the "view model dependency diagram", and good git integration make for a pretty nice IDE.
The main good thing about vi is that it's ubiquitous. You really should know how to use it, at least cursorily.
You can certainly use emacs over ssh (and you know about ssh's X11 forwarding, which let's you run a remote pointy-clicky editor rendered locally?).
Depending on your network and the files you're playing with, sshfs might be a relevant tool to view the files "locally".
If the files are really big, man the "split" command.
The main good thing about vi is that it's ubiquitous. You really should know how to use it, at least cursorily.
You can certainly use emacs over ssh (and you know about ssh's X11 forwarding, which let's you run a remote pointy-clicky editor rendered locally?).
Depending on your network and the files you're playing with, sshfs might be a relevant tool to view the files "locally".
If the files are really big, man the "split" command.
I use TextMate for most things, Espresso for working on HTML mailers and (some) static sites, XCode for iPhone/iPad, and Eclipse for my most hated projects (Adobe Flex/AIR mostly. I don't hate Flex, I just hate Eclipse).
I use Inconsolata font at 14pt and a modified Monokai theme (with darker background) whenever possible.
About once a year or so I decide I'm going to switch to vim. I spend about a week getting my vimrc and plugins set up and use it for a couple more weeks, before I eventually get sick of keyboard navigation and NERDTree and go back to TextMate. I know that with MacVim I get things like scrollwheel support and mouse navigation, but if I'm using those anyway I might as well use them in TextMate and get back my tab triggers and other shortcuts.
It's always good to brush up on vim once in a while though, since it often comes in handy when you need to edit config files on a server or when you are collaborating with a developer who uses vim exclusively. I also wish TextMate had split panes and some of the keyboard shortcuts (o, O, I, and A come to mind), but overall my productivity is better with TextMate.
I use Inconsolata font at 14pt and a modified Monokai theme (with darker background) whenever possible.
About once a year or so I decide I'm going to switch to vim. I spend about a week getting my vimrc and plugins set up and use it for a couple more weeks, before I eventually get sick of keyboard navigation and NERDTree and go back to TextMate. I know that with MacVim I get things like scrollwheel support and mouse navigation, but if I'm using those anyway I might as well use them in TextMate and get back my tab triggers and other shortcuts.
It's always good to brush up on vim once in a while though, since it often comes in handy when you need to edit config files on a server or when you are collaborating with a developer who uses vim exclusively. I also wish TextMate had split panes and some of the keyboard shortcuts (o, O, I, and A come to mind), but overall my productivity is better with TextMate.
Maybe you just need to bin the mouse for a week. That is the thing that gets in the way for me, and when it's present, I start using the damn thing. The one thing it feels good for is copy and paste, a necessity when copying outside vim.
> I've used Emacs in the past, but something about the way in which you can navigate code just makes me feel less than efficient in it.
Have you ever tried IDO, http://www.emacswiki.org/emacs/InteractivelyDoThings?
Have you ever tried IDO, http://www.emacswiki.org/emacs/InteractivelyDoThings?
IDO is 100% necessary for decent code navigation in emacs, but it's also worth trying textmate.el (http://github.com/defunkt/textmate.el), PeepOpen (http://peepcode.com/products/peepopen), or my fuzzy-find-in-project (http://github.com/justinweiss/fuzzy-find-in-project) for something like, but more flexible than, TextMate's command-T functionality.
Indeed. I don't even have to think about files anymore, thanks to eproject. If I want to edit my module Foo::Bar, I just say visit-project-file (C-c C-f), type in ::Ba or some other convenient substring, and hit enter. Now I'm there.
And that's the worst case. If I want to see the definition of some function that the point is currently near, I just press M-. to visit it. And M-* to pop back to where I was before.
And that's the worst case. If I want to see the definition of some function that the point is currently near, I just press M-. to visit it. And M-* to pop back to where I was before.
Vim of course.
I do most of my coding at work (rails, python, ruby, js, html, css), where we have ubuntu machines - I LOVE gedit and simply can't do without it. It has a powerful plugins system, and there's a good repo at github.com/lexrupy/gmate that contains some of the best. There's a port for it on a mac, but I tend to stick to TextMate when on OSX (my home computer).
Some of my can't-do-without features are: delete line, duplicate line, shift-line (up/down), select word, multi-edit (on gedit), word complete (circle through options bash style) and snippets. If I had to pick between gedit and TextMate, I'd probably go with gedit, but only because I spend a lot more time on it on a daily basis. I'm sure if I had TM at work, I'd probably understand what all the hype is about.. :)
Some of my can't-do-without features are: delete line, duplicate line, shift-line (up/down), select word, multi-edit (on gedit), word complete (circle through options bash style) and snippets. If I had to pick between gedit and TextMate, I'd probably go with gedit, but only because I spend a lot more time on it on a daily basis. I'm sure if I had TM at work, I'd probably understand what all the hype is about.. :)
[deleted]
If you like gedit you should give geany a try.
I don't use a single editor.
Currently I'm using Visual Studio for all .NET related things, because it's a nice, overall IDE.
I'm also getting into C++, for which I use vim in Ubuntu (although I am far, far from being a decent vim user). I couldn't stand the way it tried to handle everything by default and felt like it was interfering with my understanding of C++ dev. I also didn't like the way the VS solution layout doesn't match the disk layout. I wanted to get more down and dirty with my compiler, and possibly learn make.
I also interchangably use Notepad++, Textmate and e-texteditor depending on what's available on the machine I'm on.
Currently I'm using Visual Studio for all .NET related things, because it's a nice, overall IDE.
I'm also getting into C++, for which I use vim in Ubuntu (although I am far, far from being a decent vim user). I couldn't stand the way it tried to handle everything by default and felt like it was interfering with my understanding of C++ dev. I also didn't like the way the VS solution layout doesn't match the disk layout. I wanted to get more down and dirty with my compiler, and possibly learn make.
I also interchangably use Notepad++, Textmate and e-texteditor depending on what's available on the machine I'm on.
Your question's made me realise something I completely wasn't aware of! In my many years of coding I always seem to have 2 separate editors open: one for coding and one for editing.
Currently at work, it's eclipse for Java development, and Textpad for all quick editing, regular expressions, mass find/replace across files, large files, etc.
Currently at work, it's eclipse for Java development, and Textpad for all quick editing, regular expressions, mass find/replace across files, large files, etc.
That's an interesting observation. Before going back to school, I worked at a place where Eclipse was the gospel. And Eclipse is a wonderful tool when you're a Java coder, but I often found myself doing exactly the same thing (except with TextMate for the mac) -- when I needed to hack up a file to make changes, I'd copy everything into TextMate, run a bunch of RegEx search and replace jobs, and then paste it back into Eclipse.
Visual Studio 2008/2010 for C# stuff, vim for everything else. TextPad is my general-purpose text manipulation tool. along with the Win32 ports of the *nix toolchain.
Komodo Edit works well on all platforms and support 'scp' for file access.
After a long stint with Vim (and a brief one with eclipse), I too have been using Komodo Edit.
The vim bindings are good. The app is OS X is fine. (Though I had to hack the source to make the "Go To file" not look in the history, which was bothering me with my many branches). Also removed anti-aliasing, which is awful for code IMHO.
It crashes from time to time, but I think it's the best all around choice right now for good vi bindings, sensible auto-completion, multi-language support, etc.
Plus I like that it's cross-browser and open source, in case I ever want to leave OS X for something better.
The vim bindings are good. The app is OS X is fine. (Though I had to hack the source to make the "Go To file" not look in the history, which was bothering me with my many branches). Also removed anti-aliasing, which is awful for code IMHO.
It crashes from time to time, but I think it's the best all around choice right now for good vi bindings, sensible auto-completion, multi-language support, etc.
Plus I like that it's cross-browser and open source, in case I ever want to leave OS X for something better.
Komodo Edit (Mac) with the Vim bindings turned on. It's lightweight with some advanced features like code completion and basic project management (find & replace in project, etc).
I finally settled on Komodo as well.
I got Komodo IDE but it was way too slow on Mac. Not sure why. I switched over to Netbeans 6.9.
UltraEdit for me! Works great for large files and all my day-to-day editing.
http://www.ultraedit.com/products/ultraedit.html
If you work with large files a lot, you may want to check this out:
http://www.ultraedit.com/support/tutorials_power_tips/ultrae...
I also LOVE the scripting. I've written a lot of custom scripts to automate repetitive tasks.
The only downside, it's not free like many of the other editors listed here; however, it is well worth the money.
http://www.ultraedit.com/products/ultraedit.html
If you work with large files a lot, you may want to check this out:
http://www.ultraedit.com/support/tutorials_power_tips/ultrae...
I also LOVE the scripting. I've written a lot of custom scripts to automate repetitive tasks.
The only downside, it's not free like many of the other editors listed here; however, it is well worth the money.
Mac = Textmate
Windows = Notepad++
Color me crazy but the majority of "fancy" stuff that most IDE's have is counter productive. Unfortunately i'm still a newb at VI and emacs to truly appreciate either.
Color me crazy but the majority of "fancy" stuff that most IDE's have is counter productive. Unfortunately i'm still a newb at VI and emacs to truly appreciate either.
Same here - I'm mostly on a mac so I use Textmate (and just gEdit on linux lately), but I can't recall the last time I used a snippet or anything.
Decent editing functionality, syntax highlighting, the concept of opening a project directory (which gEdit doesn't do well), and open file by pattern match is 95% of my use cases.
Decent editing functionality, syntax highlighting, the concept of opening a project directory (which gEdit doesn't do well), and open file by pattern match is 95% of my use cases.
Yeah I'm mostly still a visual/ mouse based guy using Textmate and Notepad++. Used some vim at uni but defiantly didn't get into it enough to learn to navigate code properly just from the keyboard.
I use http://www.e-texteditor.com/ on Windows. It's a clone of Textmate, supporting its bundles and all that; works very, very well.
[deleted]
big fan of e text editor. I have been desperately trying to compile the new source code releases for ubuntu but not too successful. (Not to familiar with linux programming/building).
It works on wine though.
Does it work seamlessly through wine? I've been missing textmate snippets lately but it's frustrating to work around little problems?
I didn't use it for a long time. It works, but it still needs cygwin to be install for some snippets.
That's a little ironic. installing cygwin on wine.. but I guess that's the only way to get a text-mate like editor on linux.
Or you could try something called Red Car Editor (http://redcareditor.com) which proclaims to be an editor specially made for ruby/rails programmers. It looks pretty impressive, but again I couldn't get it installed properly. (I think the latest version runs on jRuby platform)
EDIT: I got inspired to try Red Car again after posting this comment. Uninstalled Ruby completely from Windows 7, installed jRUby 1.5. Red car gem installation went perfectly, but the editor is shockingly slow and unresponsive. I don't know if the same applies to linux platform, or if there is something wrong with my system (its a 2 year old laptop, and its been a long while since I have reinstalled the Windows OS)
Or you could try something called Red Car Editor (http://redcareditor.com) which proclaims to be an editor specially made for ruby/rails programmers. It looks pretty impressive, but again I couldn't get it installed properly. (I think the latest version runs on jRuby platform)
EDIT: I got inspired to try Red Car again after posting this comment. Uninstalled Ruby completely from Windows 7, installed jRUby 1.5. Red car gem installation went perfectly, but the editor is shockingly slow and unresponsive. I don't know if the same applies to linux platform, or if there is something wrong with my system (its a 2 year old laptop, and its been a long while since I have reinstalled the Windows OS)
We do most of our stuff in C# and JavaScript, so I use Visual Studio 2008 with Resharper and Viemu plugins. Reshaper really does make visual studio a whole lot better, it's definitively worth a try if you code in C#. Viemu is a set of vi-bindings for visual studio.
Worst part about using VS2008 is the intellisense for JavaScript, it's so bad it is actually a slight annoyance. Supposedly the JavaScript intellisense for Visual Studio 2010 is a lot better.
Worst part about using VS2008 is the intellisense for JavaScript, it's so bad it is actually a slight annoyance. Supposedly the JavaScript intellisense for Visual Studio 2010 is a lot better.
Doing primarily CSS, HTML or Javascript in my editor, my requirements are less about code navigation and more about just being quick and simple.
On OSX I use TextMate, but on Windows I use Intype -- www.intype.info
Intype is a very, very useful text editor similar to TextMate in that it supports three key points:
1. Bundles / snippets 2. Intelligent selections and editing (multiple, rectangle, etc.) 3. Fuzzy search in quick open
Anyone using TextMate knows how important bundles are to one's work flow.
By far the biggest downside of Intype is its pace of development. It's incredibly slow and right now the best version they have is an 'unstable' release: http://intype.info/download/download.php?intype-0.3.1.734.ex...
It's still a very basic editor. As such, they're looking really good project management tools, file watching (refresh on external changes), integration with source control systems, etc.
They have been working on 0.3.5 for such a long time and I doubt we'll see a release of it before the end of the year. Nonetheless, the upsides outdo the downsides by far for me personally.
On OSX I use TextMate, but on Windows I use Intype -- www.intype.info
Intype is a very, very useful text editor similar to TextMate in that it supports three key points:
1. Bundles / snippets 2. Intelligent selections and editing (multiple, rectangle, etc.) 3. Fuzzy search in quick open
Anyone using TextMate knows how important bundles are to one's work flow.
By far the biggest downside of Intype is its pace of development. It's incredibly slow and right now the best version they have is an 'unstable' release: http://intype.info/download/download.php?intype-0.3.1.734.ex...
It's still a very basic editor. As such, they're looking really good project management tools, file watching (refresh on external changes), integration with source control systems, etc.
They have been working on 0.3.5 for such a long time and I doubt we'll see a release of it before the end of the year. Nonetheless, the upsides outdo the downsides by far for me personally.
emacs. first job out of college, got put on a team that used emacs, so i learned emacs.
things i love: non-modal interface (used vim in college, found myself frequently cursing its modes: "do what i think, not what i type!"); lives on every system i work on; does not require smelling salts after encounters with large files; insanely flexible and powerful
things i hate: insanely flexible and powerful (i.e., large investment required to capitalize on flexibility and power); i'm not a pianist (abundance of control and alt prefixes to key commands make rachmaninov cry from his grave); this is 2010 -- where is my anti-aliasing, dammit; after a year, i still have regular arguments with tabs/spaces/indentation
to address your concern about navigating code efficiently, i sympathize. i felt that way when i started out (even after realizing i could select text with my mouse), but i'm in a phase where i spend more time thinking about writing code than actually writing it, so i worry less about how fast i can copy and paste an awkward selection from one file to another than i do about how well my editor fits with my work environment and personal habits.
things i love: non-modal interface (used vim in college, found myself frequently cursing its modes: "do what i think, not what i type!"); lives on every system i work on; does not require smelling salts after encounters with large files; insanely flexible and powerful
things i hate: insanely flexible and powerful (i.e., large investment required to capitalize on flexibility and power); i'm not a pianist (abundance of control and alt prefixes to key commands make rachmaninov cry from his grave); this is 2010 -- where is my anti-aliasing, dammit; after a year, i still have regular arguments with tabs/spaces/indentation
to address your concern about navigating code efficiently, i sympathize. i felt that way when i started out (even after realizing i could select text with my mouse), but i'm in a phase where i spend more time thinking about writing code than actually writing it, so i worry less about how fast i can copy and paste an awkward selection from one file to another than i do about how well my editor fits with my work environment and personal habits.
Emacs 23 has anti-aliasing.
http://emacs-fu.blogspot.com/2009/01/emacs-23.html
http://emacs-fu.blogspot.com/2009/01/emacs-23.html
> i still have regular arguments with tabs/spaces/indentation
Clearly, you should end your files with ".py".
> navigating code efficiently
Use xcscope, if your language is supported. Obvious, and you've probably tried it (and now, probably don't care), but worth mention, for others at least.
Clearly, you should end your files with ".py".
> navigating code efficiently
Use xcscope, if your language is supported. Obvious, and you've probably tried it (and now, probably don't care), but worth mention, for others at least.
NetBeans with jVi plugin (vim style editing) for projects and vim for one-offs. Netbeans has good support for PHP and Python auto-complete, etc. jVi plugin faithfully recreates vim experience. Downside is that NetBeans can be slow and crashes about once per day. It is worth it for fast searching, switching files, jumping to function/class definitions, etc.
I bought EditPlus (www.editplus.com) way back when I was in high school (NT4 days), and the license is still good for newer versions. I've lost the license twice, don't have the CC or email address it was registered to, and Sangil has been very responsive about getting me my license info even without that stuff.
Since I bought it, they've added code folding, which is really nice. It's really just a plain jane text editor with pluggable syntax highlighting. The ability to save to a remote server is really nice, too, especially if you're doing remote dev work. I just wish it had SFTP support instead of just FTP. Or SCP. Whatever. Something more secure.
It's incredibly fast and lightweight, and I've never felt a need to use anything else.
I've also been known to use jEdit, nedit, and vim, depending on what type of environment I'm working in/through.
Since I bought it, they've added code folding, which is really nice. It's really just a plain jane text editor with pluggable syntax highlighting. The ability to save to a remote server is really nice, too, especially if you're doing remote dev work. I just wish it had SFTP support instead of just FTP. Or SCP. Whatever. Something more secure.
It's incredibly fast and lightweight, and I've never felt a need to use anything else.
I've also been known to use jEdit, nedit, and vim, depending on what type of environment I'm working in/through.
Coda, but I am just a designer/front-end guy, so I don't count
The Coda editor is actually just a version of SubEthaEdit.
http://en.wikipedia.org/wiki/Coda_(web_development_software)...
http://www.codingmonkeys.de/subethaedit/index.html
http://en.wikipedia.org/wiki/Coda_(web_development_software)...
http://www.codingmonkeys.de/subethaedit/index.html
I have to admit I use Coda too as a developer. I have tried other text editors but have found Coda to have a really nice UI.
Sublime Text. It has the minimap. It has multiple cursors. It has macros. It has plugins. It has color schemes. It's simple. It's beautiful. It's actively developed. It's affordable.
Downsides? It's Windows only.
Downsides? It's Windows only.
http://www.sublimetext.com/features
This looks like a great editor. It's proprietary, though. Damn.
Why is it that, as with Opera, every now and then you find an amazing program which, even more amazingly, is closed-source?
Emacs, however, offers minimap as well: http://www.emacswiki.org/emacs/MiniMap
I wonder how well we did compared to Sublime.
This looks like a great editor. It's proprietary, though. Damn.
Why is it that, as with Opera, every now and then you find an amazing program which, even more amazingly, is closed-source?
Emacs, however, offers minimap as well: http://www.emacswiki.org/emacs/MiniMap
I wonder how well we did compared to Sublime.
MiniMap is an interesting feature. I'm a VIM user and it looks like we don't have it.
http://www.vim.org/scripts/script.php?script_id=2888
You guys have it too.
You guys have it too.
Ah, nice find. Windows only though.
These days, I'm actually more amazed when I find an amazing desktop program which is open-source. Maybe it's just because opinionated software appeals to me.
http://redcareditor.com/ looks as if it will be decent. But yes, I agree.
Open source software has a hard time being opinionated.
eclipse. Why? Default for java.
Some pluses... nice plugin based architecture, stable code. Autocomplete, refactoring, source code generation, etc. are not optional things when you're trying to do too much all the time. It's nice working in something that is pretty standard and offers you the ability to share styles etc.
Downsides.. IDE-ification of development. Slow startup time (wants SSD hybrid drive for this). Synchronizing plugin versions can be a pain in the ass. Fairly steep learning curve to advanced features.
Downsides.. IDE-ification of development. Slow startup time (wants SSD hybrid drive for this). Synchronizing plugin versions can be a pain in the ass. Fairly steep learning curve to advanced features.
on Windows, Textpad does well both with 1) a lot of files or 2) really big files. Ok, I've only opened files of about 125Mb on it. Takes a few seconds to load it, but once up, it flies. If you have a lot of files open, the tabbed UI doesn't really help, so you can F11 for the Document Selector sidebar.
These days while on Windows I often have gVim, Sublimetext and Texpad open simultaneously. The minimap is cute, but have never found it useful, still Sublime is almost as snappy as TP.
These days while on Windows I often have gVim, Sublimetext and Texpad open simultaneously. The minimap is cute, but have never found it useful, still Sublime is almost as snappy as TP.
Hmmm. The editors that other people use is basically as un-interesting as someone's religion or politics. I'll not bore you with my views on politics or spirituality, only editing text:
Any Lisp: Gambit-C Scheme, Clojure, Common Lisp: Emacs with either Slime or custom support. (I also like the IntelliJ support for Clojure.)
Ruby: mostly TextMate or GEdit, sometimes RubyMine.
Java, Scala: IntelliJ. Nothing else even comes close.
Latex: TeXShop on the mac, GEdit on Linux
Any Lisp: Gambit-C Scheme, Clojure, Common Lisp: Emacs with either Slime or custom support. (I also like the IntelliJ support for Clojure.)
Ruby: mostly TextMate or GEdit, sometimes RubyMine.
Java, Scala: IntelliJ. Nothing else even comes close.
Latex: TeXShop on the mac, GEdit on Linux
EditPlus because it does what I need and very little more. Has add-ons for just about any language I've every needed to program in, but still simple for all that.
Herehere! I love me some edit plus. I've been using it since college.
I usually use EditPlus for my notepad replacement as well as any regex functions or searches I need to do.
For any system-based programming, I do everything in Eclipse because it automatically interfaces with my SVN and deploy servers.
I usually use EditPlus for my notepad replacement as well as any regex functions or searches I need to do.
For any system-based programming, I do everything in Eclipse because it automatically interfaces with my SVN and deploy servers.
Emacs! I'm a pious follower of the Church of Emacs...
For my day job, Eclipse + PDT due to a number of quirks in the dev environment.
Otherwise I'm using Vim exclusively, and hope to someday be pretty good with it. ;^)
When I was on Windows I used EditPlus and still advocate it for Windows users. Fast, capable, customizable, and the developer was always very responsive to my questions and requests.
Otherwise I'm using Vim exclusively, and hope to someday be pretty good with it. ;^)
When I was on Windows I used EditPlus and still advocate it for Windows users. Fast, capable, customizable, and the developer was always very responsive to my questions and requests.
[deleted]
Notepad++ for html\css\javascript\python all at once.
The dynamic highlighting based on the context of the cursor position is clutch for web work. Makes it easier to take care of all the cascading changes in your templates and stylesheets.
WingIDE hands down if its just python or a ton of python. Emacs for servers and CygWin.
WingIDE hands down if its just python or a ton of python. Emacs for servers and CygWin.
I develop on WAMP: Windows 7, Python/Django, Apache, Postgres.
For editing code I use e. It's great. It does hang on large files, however.
I spend the vast majority of my time inside of the iPython command line, and when I finally work out what I'm trying to do, copying the result back in to the text file in e.
For editing code I use e. It's great. It does hang on large files, however.
I spend the vast majority of my time inside of the iPython command line, and when I finally work out what I'm trying to do, copying the result back in to the text file in e.
Whatever is already installed. I also use the default email tool. And file explorer. ANd web browser. Because, see, I have a life and it doesn't include redecorating every room I enter to suit my peccadillos. And yes I write code every day, all day, on 3 different platforms at the moment.
Writing plug-ins for Eclipse is only possible using Eclipse itself. But I use it for other Java projects as well. What I like: code assist, quick fix, code generation, refactoring, code navigation. The only thing I dislike is buggy SVN integration plug-ins :)
Eclispe for java. I could not imagine writing java without an IDE.
TextWrangler/BBEdit, for most other files. I like the built in support for sftp, so I can work remotely in a gui.
For the quick edits from the command line I use the old standby, vi.
TextWrangler/BBEdit, for most other files. I like the built in support for sftp, so I can work remotely in a gui.
For the quick edits from the command line I use the old standby, vi.
I'm not a Java programmer, why do you say this?
I use netbeans because it is on parity of sucking as bad as zend studio but it is free. I really like the "intellisense" as i went from C# asp.net stuff to php
i really want to give jetbrains my money but they haven't put out anything for me...yet :)
i really want to give jetbrains my money but they haven't put out anything for me...yet :)
Ye can gain mine Emacs when ye wrest it from mine chill, mortified fingers.
a) Fosdev ;)
b) because I'm part of the team developing it, and it takes care of a lot of setup stuff, etc.
c) plenty (almost everything) as it's a new, fresh product/project
I'd love to hear more about how the projects have 1) a lot of files or 2) really big files... and how you navigate around the proj. should the really big files be broken into smaller files? etc...
I'd love to hear more about how the projects have 1) a lot of files or 2) really big files... and how you navigate around the proj. should the really big files be broken into smaller files? etc...
Eclipse is a terrible editor (200 million cycles per keystroke isn't enough to keep up!?) but a good Java browser with svn support (which we haven't migrated off of quite yet), so I mostly live in that. Someday I hope to work on a codebase that's DRY and clean enough that I can go back to Emacs.
I don't understand all the love for Visual Studio. Everyone I met a few years back at Microsoft ignored it and used gvim and their own make clone, in spite of devdiv's pleas for feedback.
I don't understand all the love for Visual Studio. Everyone I met a few years back at Microsoft ignored it and used gvim and their own make clone, in spite of devdiv's pleas for feedback.
Any overriding reason why it was ignored? In terms of doing .NET development at least, if you were including that.
vi, Xcode, Xemacs, Eclipse, textedit. That's a good start. Depends on what is handy. emacs wins for super-large files (>1GB).
Other than logs, do you handle text files > 1GB?
Not logs. The gate-level EDIF of a full chip can be pretty big... Sometimes you need to check out exactly how two logic gates were generated by synthesis.
recently gedit is my favourite. Really fast and easy to setup. Also to move my settings from one computer to another I just need to copy 1 folder and install one package. That, in combination with command line is very powerful for me.
I used to use different editor for every language but I am getting more and more comfy with gedit.
I used to use different editor for every language but I am getting more and more comfy with gedit.
I've noticed that gedit is a little sluggish to start and somewhat buggy. All that same it's a great editor.
Dare I say Coda? Um, I guess I just did...
I use kwrite, unless I'm at a console, in which case I use nano.
Easy to use, and no holy wars.
Easy to use, and no holy wars.
Geany, my absolute favorite. It does everything and it does it efficiently.
jEdit is my third arm. Hypersearch is amazing and the beanshell rules.
Textmate on the mac, sublime text and scite on the PC, eclipse for Java
Epsilon (a good Emacs clone that has excellent Windows integration).
On Linux, Geany or SciTE. Both are scriptable with Lua.
SciTE seems really solid but it's missing some features I like in other editors.
IDEA, emacs (various types), vim, vi if on a server.
I use gvim whenever possible and vim otherwise.
Xcode, only tool available for iPhone/iPad dev
gedit with gmate (http://github.com/gmate/gmate)
SlickEdit has been a long time friend.
Emacs. I do everything within emacs.
on windows, e-texteditor, a textmate clone (i love it), and notepad++.
on linux, i use nano.
on linux, i use nano.
The editor I chose x years ago for no reason is way better than the editor you chose y years ago for no reason.
emacs (including xemacs), Visual Studio if I'm doing C#, vi now and then.
At work I use various flavors of Visual Studio (including VS.NET 2003 on Windows 7 http://technikhil.wordpress.com/2010/01/12/visual-studio-200...). For any quick editing and especially text manipulation it's notepad++ or emacs. I am trying to learn emacs but I am still not completely there yet - I use it for text editing mostly with some python editing.
I've used Emacs in the past, but something about the way in which you can navigate code just makes me feel less than efficient in it. Maybe I didn't take enough time to memorize all the required shortcuts. Mastering an editor that can be used over an ssh session certainly seems a plus.
So a question to all the coders out there: what editor do you use? Why did you choose it? What are the downsides?