Text Editors are things people get religious about. If you want to start an argument among unix programmers, ask them which editor is best. When the smoke clears the only thing you can be sure of is that none of them will say Notepad.
For the sake of bragging, I spent several years using ed to write large programs. A while ago emacs and vi fought over mind-share with no quarter asked or given, but those days are (mostly) gone, killed off by the shift to windowing platforms. Now there are a huge number of editors available, all with their own capabilities, some better, some worse. Allow me to introduce you to the one I think is better than most. jEdit.
Features
- Multi-platform: it works on Linux, Windows, MacOS/OSX, and lots more. You can have the same editor on every machine you use.
- Multiple buffers: you can edit dozens of files simultaneously.
- Many plug-ins available: you can easily customise it to suit you and your project.
- Multiple character-sets: it is as comfortable editing UTF as it is editing ASCII.
- Usable as an IDE: you can compile and test programs without leaving the editor.
- Extensible filesystems: you can edit files stored on an FTP server or in zip files.
- Programmable: you can write macros or full plug-ins easily.
- Syntax highlighting: 128 built-in languages, and many more available for download (including YAML).
- Superb built-in features: rectangular selections alone will blow your mind. It's got regular-expression search-and-replace too.
- Free: it's open-source. You can down-load it now. Go on — do yourself a favour.
Plug-ins
jEdit by itself is rather bare; you are expected to install some plug-ins. This is really easy; just go to Plugins»Plugin Manager and chose some. Here are the ones I wouldn't be without:
- Buffer List. A tree-structured list of the files being edited. I dock it on the left.
- Console — A command Line within the editor. I dock it at the bottom.
- ErrorList — Lists compile errors and and links them to the offending lines in the source file. I dock it at the bottom.
- Archive — Edit files from zip and tar archives
- FTP — Edit files on FTP servers
- jDiff — compare two files side by side
While you are docking the plugins, put the HyperSearch Results at the bottom too.
Free Give Away
Here is a Wikidot syntax highlighter. This highlighter doesn't just highlight Wikidot syntax; jEdit already knows about HTML,CSS and every type of code block, so it highlights all those too, including $\TeX$, so even your maths will come out right.
Right-click and Save-Link-As: wikidot.xml (release 0.4).
Put that in the "modes" sub-folder of your jEdit settings folder, and then add this line to the file catalog in the same sub-folder:
<MODE NAME="wikidot" FILE="wikidot.xml" FILE_NAME_GLOB="*.wd" FIRST_LINE_GLOB="*wikidot*" />
To use it, either call your wikidot page files something ending in .wd, or put [!-- *wikidot* --] in the first line of the file. Be aware, if you choose the latter option, that jEdit only sets file modes when a file is loaded or saved.
Here's a quick example, courtesy of the Code2HTML plug-in:
Change Log
Release 0.4
- Tidied up
- Got highlighting on the module names and image source etc.
To Do
- Add YAML highlighting
- Check the colouring is consistent and logical.
- Blockquotes
- [[code type="diff"]] should delegate to "patch:MAIN"