In any case, it has felt very good to ditch the IDE for a while and return to my humble yet powerful development tools: GNU Screen, Vim, Bash and Ant. I won't describe here what these tools are or how to use them; this is covered very well in other places. But I will post a nice screenshot of my current desktop, which I feel is very close to complete User Interface zen:

One component currently missing from my toolbox is a good, preferably console-based file managers. I don't really have very strong preferences with regard to file managers, but I really should, because there are many times when I could really use some powerful features. I just haven't quite figured out what those are yet. Vi keybindings are a major plus, though. That rules out the famous midnight commander, unfortunately, as its keybindings are not configurable. Really, it only leaves two options: vifm, and a Vim plugin called VimExplorer. vifm was quite nice, a nice solid little file manager with vi-like keybindings. Unfortunately, it had some trouble installing on Ubuntu Hardy, and it was just different enough to what I was used to with a proper Vim instance to be annoying. That left me VimExplorer. I was a bit wary of this, because it hadn't been updated since 2007, and the last update was to fix a critical bug that could cause data loss. But I installed it, tried it out, and found it to be quite good. It gives you a small file manager instance that lives right inside of vim. All of your vim skills then can be applied to managing files, including: regular expression search, macros, manipulating vim windows and buffers, and using "!" to trigger shell scripts. There's something really great about being about to just say "yy" and then "p" to copy and paste a file. Same for move and delete.
Unfortunately, I still feel like this tool is lacking. 90% of what I do when developing is in done in just a few files and directories. What I want is to be able to just type the name of a file on my filesystem (e.g. "Accessibility.gwt.xml"), and immediately have an editor up for that file. The system should behave intelligently when there are naming collisions. I believe that GNOME-Do might actually be able to do this, and I should look into that. For the most part though, I think most of this could be accomplished by just tagging certain files or directories as favorites, and maintaining a simple hash to map short variable names to long paths. In any case, I'm continuing to iterate on this component of my set of simple tools.
It does not sound that you prefer IDE above editors. It sounds more that IDE's are missing some strong editor features VIM has and some parts of an IDE are not 100% completed.
ReplyDeleteBasically, you made your own IDE.
I still the best of both worlds. For a big project a use a good IDE that has been adapted to my needs. Eclipse with some proper plug-ins. So that my focus is only in writing code and the others (like debugging, version control, quality tools) is done with one click.
So that I can stay in one screen all the time.
Small applications, I will always use the comfort of a good editor like VIM.