jEdit is a programmers text editor that has built in syntax highlighting, text completion, extremely powerful search functions, rectangular selection (in addition to normal selection, of course), views, folding and lots of high quality plugins.
jEdit is free (GPL), and works on all major platforms.
Built in functions
- Hitting ctrl - b gives you a list of possible completions, based on the language you are writing in.
- Hitting alt - . gives you a "hyper search", listing all accurences of the word currently under your caret.
- Hitting ctrl - , gives you a incremental search bar (like firefox).
- Hitting ctrl -f gives you a search dialog where you can do regular searches, search all open buffers or even search a whole directory tree. A neat function is that you can use regex in your searches. An example: searching for all those references that ends with _ in your database dump could be done like this _\n (underscore and newline.)
Setting up templates
Setting up jEdit to give you text completion like textmate is easy. Install the SuperAbbrevs extensions and customize it to your liking. Here is a few things you might like to do:
|ph||<?php $end ?>||php tags for templates|
|Multi line php|
|tfe||<?php foreach($1 as $2):?>|
<?php endforeach; ?>$end
|tfe is my shorcut for template foreach|
Using generators inside jEdit
Using the console plugin you can get the console into jEdit, so you dont have to leave your editor just to generate some scaffolding.
- By default, the console plugin will follow you around as you click on nodes in the Project Viewer. This is easily adjusted in the settings if it annoys you.
- Adding an empty file named "clear-cache" to your project root gives you tab completion for symfony clear-cache. (And of course you can add other empty files too, if you get tired of typing in full command names.)