I've always used emacs for small projects (and Visual Studio for large ones). I was wondering what the alternatives are for handling a directory structure within emacs, something like the solution explorer in VS. Thank you.
You should also have a look at eproject for something that's more lightweight while also allowing you do to some pretty cool stuff (like project-specific config settings, etc.)
ECB, the Emacs Code Browser, which is built on CEDET, if I am not mistaken, is one you should look at.
Myself, I've always found that I get by well enough using etags and ido-mode. You might also want to look at Speedbar (part of CEDET) as a halfway house between more minimalist solutions and ECB.
I don't use it myself, but it sounds like CEDET is what you are looking for:
Emacs already is a great environment for writing software, but there are additional areas that need improvement. Many new ideas for integrated environments have been developed in newer products, such as Microsoft's Visual environment, JBuilder, or Eclipse. CEDET is a project which implements several advanced features developers have come to expect from an Editor.
The Emacs wiki also has this page with some tips for IDE users.
See also: http://www.emacswiki.org/emacs/Icicles_-_Support_for_Projects.
What do the clever programmers here do to keep track of handy programming tricks and useful information they pick up over their many years of experience? Things like useful compiler arguments, IDE short-cuts, clever code snippets, etc.
I sometimes find myself frustrated when looking up something that I used to know a year or two ago. My IE favorites probably represent a good chunk of the Internet in the late 1990s, so clearly that isn't effective (at least for me). Or am I just getting old?
So.. what do you do?
Two Things I do:
I blog about it - this allows me to go back and search my own blog.
We use the code snippet feature in Visual Studio.
Cheers.
I use:
Google Notebook - I take notes for projects, books I'm reading, etc
Delicious + Firefox plug in - Every time I see a good page I mark it.
Windows Journal (in tablet pc) - When I need to draw something and then copy/cut/paste it. I have more distractions here, the web is always very close :)
Small Moleskine paper notebook - Its always with me.
Big paper notebook - When I need more space to write and less distractions.
Obviously these are for all useful information, not just for snippets or tips and tricks.
Why not set up a Wiki?
If you are on windows, i know that ScrewTurn wiki is pretty simple to deploy on a desktop/laptop. No database to fuss around with.
Blog about it.
One of the nice side-effects of blogging is that if you use a sensible categorization or tagging system, it's quite easy to search for stuff within your blog. The fact that you wrote about it also makes it easier to remember problems you have encountered before ("hey, I blogged about that!").
That's a great benefit aside from, of course, being able to share this information publicly so that others might be able to find your solution to a particular problem using Google.
A number of people I know swear by Google Notebook
I send them to my gmail account, that way I have them where ever I go, and they can be put into appropriate folders for later.
I second the blog about it technique...even Jeff said that's a major reason he blogs.
Also, regarding the wiki idea, if you set one up at work, be sure to encourage your coworkers to do the same. When someone finds something of interest they can just write a little "article" explaining what it is and how to do it... that way, not only are your own things easily available and quickly searchable, but you'll often find out things you never knew from other people in your group. That way it benefits everyone not just you.
I agree with emailing, the wiki and the blog. Emailing is the most useful. If you can't use GMail and you're on windows, install a desktop search utility (Windows search, Google Desktop, Copernic, etc)
I also like to jot it into a textfile and save it in my documents folder. Whatever desktop search utility you use will be able to find it easily. e.g.
//print spool stop.notes.txt
If the printer spooler stops, start it again by
- Services > Provision Networks > Restart Service
tags: printer provision no printer spooler cannot print remote desktop
Subscribe in Google Reader and then search later.
At my last place of work they wouldn't let me set up a wiki or anything - so I just made various word documents full of tips and instructions and gave that to my successor when I left.
Now though I'd use a private wiki, or maybe a blog.
For many years I've kept a Word doc named Knowledgebase.doc that contains all my notes with a decent table of contents. I like to keep everything in one searchable doc.
I use a sync tool to make sure the file is copied to all the machines I want it on.
I use TiddlyWiki stored in my DropBox account. Although, recently, Evernote is getting my atention; it has a really useful feature: you send a twitter direct message to evernote user (myen) and it adds a note with your message (a really quick way to add notes or URL's for post-processing). Imagine, you can use a command-line twitter client to create notes! (or any twitter client). I really like this feature.
As it currently stands, this question is not a good fit for our Q&A format. We expect answers to be supported by facts, references, or expertise, but this question will likely solicit debate, arguments, polling, or extended discussion. If you feel that this question can be improved and possibly reopened, visit the help center for guidance.
Closed 10 years ago.
I searched for this and found Maudite's question about text editors but they were all for Windows.
As you have no doubt guessed, I am trying to find out if there are any text/code editors for the Mac besides what I know of. I'll edit my post to include editors listed.
Free
Textwrangler
Xcode
Mac Vim
Aquamacs and closer to the original EMacs
JEdit
Editra
Eclipse
NetBeans
Kod
TextMate2 - GPL
Brackets
Atom.io
Commercial
Textmate
BBEdit
SubEthaEdit
Coda
Sublime Text 2
Smultron
WebStorm
Peppermint
Articles related to the subject
Faceoff, which is the best text editor ever?
Maceditors.com, mac editors features compared
Thank you everybody that has added suggestions.
I thought TextMate was everyone's favourite. I haven't met a programmer using a Mac who is not using TextMate.
I haven't used it myself, but another free one that I've heard good thing about is Smultron.
In my own research on this, I found this interesting article:
Faceoff: Which Is The Best Mac Text Editor Ever?
Emacs
Vim
But I use TextMate, and can say that it is, without a doubt, worth every penny I paid for it.
Sublime text is awesome (http://www.sublimetext.com/2). Excellent search features, very fast and lightweight. Very decent code completion.
I also use RubyMine and WebStorm a lot (http://www.jetbrains.com/). They are excellent but not all purpose like TextMate.
MacVim and SubEthaEdit are two nice options
I've tried Komodo out a bit, and I really like it so far. Aptana, an Eclipse variant, is also rather useful for a wide variety of things. There's always good ole' VI, too!
If you ever plan on making a serious effort at learning Emacs, immediately forget about Aquamacs. It tries to twist and bend Emacs into something it's not (a super-native OS X app). That might sound well and all, but once you realize that it completely breaks nearly every standard keybinding and behavior of Emacs, you begin to wonder why you aren't just using TextEdit or TextMate.
Carbon Emacs is a good Emacs application for OS X. It is as close as you'll get to GNU Emacs without compiling for yourself. It fits in well enough with the operating system, but at the same time, is the wonderful Emacs we all know and love. Currently it requires Leopard with the latest release, but most people have upgraded by now anyway. You can fetch it here.
Alternatively, if you want to use Vim on OS X, I've heard good things about MacVim.
Beyond those, there are the obvious TextEdit, TextMate, etc line of editors. They work for some people, but most "advanced" users I know (myself included) hate touching them with anything shorter than a 15ft pole.
CotEditor is a Cocoa-based open source text editor. It is popular in Japan.
Best open source one is Smultron in my opinion, but it doesn't a torch to TextMate.
There's a new kid on the block - PHPStorm. I used it for a whole year. Its not free but offers an individual license of 49$ for a year, free for Open Source Developers.
Speedy for an IDE - Its based on Java so looks somewhat like Eclipse/Netbeans but smokes them to dust in terms of speed (not as fast as Coda/Textmate as this is an IDE).
Keyboard shortcuts galore - I seldom touched the mouse while developing using PHPStorm (that's what I didn't like about Coda)
Subversion support built-in - Didn't need to touch Versions or any other SVN client on Mac
Supports snippets, templates - zen-coding is supported as well
Supports projects, though in separate windows
File search, code search
code completion, supports PHPDoc code completion too
BBEdit makes all other editors look like Notepad.
It handles gigantic files with ease; most text editors (TextMate especially) slow down to a dead crawl or just crash when presented with a large file.
The regexp and multiple-file Find dialogs beat anything else for usability.
The clippings system works like magic, and has selection, indentation, placeholder, and insertion point tags, it's not just dumb text.
BBEdit is heavily AppleScriptable. Everything can be scripted.
In 9.0, BBEdit has code completion, projects, and a ton of other improvements.
I primarily use it for HTML, CSS, JS, and Python, where it's extremely strong. Some more obscure languages are not as well-supported in it, but for most purposes it's fantastic.
The only devs I know who like TextMate are Ruby fans. I really do not get the appeal, it's marginally better than TextWrangler (BBEdit's free little brother), but if you're spending money, you may as well buy the better tool for a few dollars more.
jEdit does have the virtue of being cross-platform. It's not nearly as good as BBEdit, but it's a competent programmer's editor. If you're ever faced with a Windows or Linux system, it's handy to have one tool you know that works.
Vim is fine if you have to work over ssh and the remote system or your computer can't do X11. I used to love Vim for the ease of editing large files and doing repeated commands. But these days, it's a no-vote for me, with the annoyance of the non-standard search & replace (using (foo) groups instead of (foo), etc.), painfully bad multi-document handling, lack of a project/disk browser view, lack of AppleScript, and bizarre mouse handling in the GVim version.
jEdit runs on OS X, being Java-based. It's somewhat similar to TextMate, I think.
Editra looks interesting, but I've not tried it myself.
TextMate not for "advanced programmers". That does not make sense, TextMate contains everything an "advanced programmer" would want. It allows them to define a bundle that allows them to quickly set up the way they want their source code formatted, or one that follows the project guidelines, quick easy access to create entire structures and classes based on typing part of a construct and hitting tab.
TextMate is my tool of choice, it is fast, lightweight and yet contains all of the features I would want in a tool to program with. While it is not tightly integrated in Xcode, that is not a problem for me as I don't write software for Mac OS X. I write software for FreeBSD.
Definitely BBEdit. I code, and BBEdit is what I use to code.
You might consider one of the classics - they're both free, extensible and have large user bases that extend beyond the Mac:
Aquamacs - emacs for OS X (emacs in a shell window is also an option)
Mac Vim - VI with a Mac-specific GUI (vim in a shell window is also an option)
I prefer an old-school editing setup. I use command-line vim embedded in a GNU Screen "window" inside of iTerm.
This may not integrate well with XCode, but I think it works great for developing and using command-line programs. If you spend any significant time working in a terminal, GNU Screen is worth the 30 minutes it takes to master the basic terminal multiplexing concepts.
Coda's great for PHP/ASP/HTML style development. Great interface, multiple-file search and replace with regexp support, slick FTP/SFTP/etc integration for browsing and editing remote files, SVN integration, etc.
It now supports plugins and the plugin editor can import TextMate bundles, so there's a bright future there. There aren't a lot of must-have plugins yet because the plugin support was newly introduced with version 1.6 a few months back. It's a popular app, though, so I expect more in the future.
The "killer features" for me are:
* Seamless editing of remote files
* Code navigator (symbol browser; pane that lists functions etc)
Most people aren't really into using symbol browsers but as I have to maintain a lot of unfamiliar code I find them invaluable.
I'm not sure that Coda has the "raw power" of TextMate though. I plan on getting familiar with TextMate next.
I make use of Komodo IDE. It supports a huge number of languages, and is customisable but is a bit expensive (my company bought me a copy). A really good alternative is the free version called Komodo Edit. Loads really quickly and has a decent feature list and I find myself turning to it rather than the full IDE for a lot of jobs.
Smultron is another good (and free) one.
I actually prefer EditRocket over TextMate. I use it on both my Mac and Ubuntu machines. It is nice to use the same editor on multiple operating systems.
Textmate is state of the Art editor, but if someone is thinking about developing on several platforms without awkward memory eaters monsters like jedit, eclipse, netbeans etc take a look at geany (geany.org). It is free. The only problem the editor has not esthetic look and feel on Mac OS X :)
Fraise is a nice free option. It has some rough edges, but you can't beat the price. I believe it's a fork or successor of Smultron.
SubEthaEdit
Coda
DashCode with OS X 10.8 or older
Eclipse and its variants.
Netbeans
I use Eclipse as my primary editor (for Python) but I always keep SubEthaEdit handy as my supplemental text editor (free trial, 30 euros to license). It's not super-complicated but it does what I need.
Another vote for Smultron. I used it when doing some XQuery programming and being able to define a keyword files for syntax color highlighting was great.
I have installed both Smultron and Textwrangler, but find myself using Smultron most of the time.
I would love to use a different editor than XCode for coding, but I feel, that no other editor integrates tightly enough with it to be really worthwhile.
However, given some time, TextMate might eventually get to that point. At the moment though, it primarily lacks debugging features and refactoring.
For everything that does not need XCode, I love TextMate. If I had another Mac-user in my workgroup I would probably consider SubEthaEdit for its collaboration features. If it is Emacs you want, I would recommend Aquamacs (more Mac-like) or Carbon Emacs (more GNU-Emacs-like)
I've been using BBEdit for years. It's rock-solid, fast, and integrates into my Xcode workflow decently well. (I'm not sure anything integrates into Xcode as well as the built-in editor, but who has time to wait for the built-in editor?)
For small team projects which don't use a source control system, or for single user editing on multiple machines, SubEthaEdit comes highly recommended.
Eclipse and Netbeans have text editors among a whole lot of other stuff. I don't think you would want to wait 10 seconds for your text editor to become ready :/...If you are going to spend some serious time coding then spend some time and learn to use vim (emacs too but, I recommend vim)