Review Lightweight Programming Editors

Fast platform neutral editors

Writing code should not be complicated.  The only requirements are your imagination and any text editor.  Text editors range from word processors and Integrated Development Environments (IDE) to simple command line edit tools.

This review will focus on lightweight programming options.  Lightweight tools are easy to master regardless of your programming skill level. Lightweight editors chosen for this article are designed
for coders of all levels.

    Editor requirements:

  • Cross platform (windows, Linux, and mac).
  • Syntax highlighting.
  • Multiple programming language support.
  • Find and Replace with REGEXP option.
  • Free software (open source, public domain, etc).

Test System

CPU: Intel(R) Pentium(R) Dual CPU E2180 @ 2.00GHz
Memory: 1Gb
Operating System: Ubuntu 10.10, CrunchBang 10, Windows 7

Bluefish

Bluefish
Bluefish
    BLUEFISH KEY FEATURES

  • Home: http://bluefish.openoffice.nl.
  • Platform: windows, Linux, mac.
  • License: GPL.
  • Multiple Documents: tabs.
  • Remote Files: gvfs supplies FTP, SFTP and more.
  • Find and Replace: allows POSIX and Perl regular expressions.
  • External Integration: customizable for commands, filters and parsers in Tools Menu.
  • Snippets: customizable with Apache, C, HTML, PHP, SQL and more.
  • Output Options: output pane in View Menu
  • Web Development: HTML, CSS, Tables, Frames, Lists and Snippets

Bluefish is easy to use for beginners.  The 2.x series of Bluefish added code completion and tag closing for inline or nested languages such as CSS.  Bluefish was the first dedicated programming editor that I became really comfortable with.

I could not get the PHP output to work for version 2.0.1.  All the key features required for a lightweight editor were functional.  Bluefish comes pre-configured to output your work in different browsers.  Bluefish is highly
recommended for HTML work.

Geany

Geany
Geany
    GEANY KEY FEATURES

  • Home: http://www.geany.org.
  • Platform: windows, Linux, mac.
  • License: GPL.
  • Multiple Documents: tabs.
  • Remote Files: gvfs supplies FTP, SFTP and more.
  • Find and Replace: allows POSIX and Perl regular expressions.
  • External Integration: customizable for commands, filters and parsers in Tools Menu.
  • Snippets: customizable with C, HTML, PHP, PYTHON and more.
  • Plugins: extend Geany with a file browser pane and more
  • Compile: build and execute
  • Output Options: output pane in View Menu
  • Web Development: HTML, CSS, Colour Chooser and Snippets

To this day, the Geany 0.19.x series are still the fastest editors I use that are not command line based.  Geany loads up faster than basic text editors.  If you want to use it as an IDE for JAVA or PHP it won’t disappoint you.  Geany comes pre-configured to compile builds and execute your code in the output pane or shell pop-up.

Geany does not require running two separate windows to see the output of your code unless it is HTML for which you will need a browser.  The one complaint I have with Geany is the way it keeps moving to the left side of code when the mouse is clicked anywhere above 80 characters on one line.  This small annoyance prevents me from replacing all my text editors with Geany.  Geany is also highly recommended but only if you have at least basic programming knowledge.

Gedit

Gedit
Gedit
    GEDIT KEY FEATURES

  • Home: http://www.gedit.org.
  • Platform: windows, Linux, mac.
  • License: GPL.
  • Multiple Documents: tabs.
  • Remote Files: gvfs supplies FTP, SFTP and more.
  • Find and Replace: allows POSIX and Perl regular expressions.
  • Snippets: customizable with C, HTML, PHP, PYTHON and more.
  • Plugins: extend Gedit with a file browser pane and more
  • Web Development: HTML, CSS, Colour Picker and Snippets like Zen Coding

Gedit is a simple editor that can been extended with plugins.  One of my favourite features is the snippet for automatically wrapping selected text.  Once the snippets plugin is activated, select text, then press SHIFT + ALT + W to edit the wrap tags which are paragraph (<p></p>) by default.

Since most programmers probably start with a graphic text editor, gedit will be a favourite.  Syntax highlighting comes configured which is great for a text editor focused on basic text editing.  Gedit is slowed by the file browser plugin which makes Gedit feel no longer lightweight.  For light work, Gedit is recommended, but do not get overwhelmed with the plugin choices.

Nano

Nano
Nano
    NANO KEY FEATURES

  • Home: http://www.nano-editor.org.
  • Platform: windows, Linux, mac.
  • License: GPL.
  • Open Multiple Files: nano file1 file2 file3
  • Multiple Documents: Forward META/ESC/ALT/WINDOWS KEY >
  • Multiple Documents: Previous META/ESC/ALT/WINDOWS KEY <.
  • File Browser: CTRL R, then CTRL T
  • Remote Files: ssh or putty for FTP, SFTP, but it can be installed on an external server.
  • Find and Replace: CTRL W allows POSIX and Perl regular expressions.
  • Syntax Highlighting: multiple languages with include for the language in nanorc file.
  • Spelling: CTRL T
  • Web Development: HTML, CSS, works right on your server.

When you start programming and are looking for recommended editors, your search might take you to websites where experienced programmers shun graphical programming editors.  Some of the recommendations will be command line tools such as vi and emacs.  As great as these command line editors are, they lack simplicity for beginners. 

Learning to do simple things using the command line way can be frustrating.  If you program remotely, you will find some of these tools pre-installed.  Nano is great in that it shows the basic commands at the bottom and one of those is “^G” which is CTRL G for help.  I use nano all the time both locally and remotely. 

I can copy and paste using the mouse which is great for making changes on servers.  There are only three commands needed to master Nano.  Copy which is also Cut, Paste which is also Uncut, and Save which is also Exit that prompts you save changes.  For beginners and advanced users, Nano is recommended as a lightweight programming alternative especially remotely.

SciTE

SciTE
SciTE
    SCITE KEY FEATURES:

  • Home: http://www.scintilla.org.
  • Platform: windows, Linux, mac.
  • License: Historical Permission Notice and Disclaimer.
  • Multiple Documents: tabs.
  • Remote Files: gvfs supplies FTP, SFTP and more.
  • Find and Replace: allows POSIX and Perl regular expressions.
  • Snippets: customizable with C, HTML, PHP, PYTHON and more.
  • Output Options: output pane in View Menu
  • Web Development: HTML, CSS, Snippets

SciTE stands for SCIntilla based Text Editor.  SciTE has a great feature that is partial implemented in Geany.  While pressing the CTRL Key, it is possible to place the cursor on multiple lines at the same time.  This feature allows a programmer to quickly put separate tags on each line of text. 

I discovered SciTE while looking for such a feature while I was not yet comfortable with regular expressions and other command line tools like awk or sed.  SciTE does not have code completion but it is fast and has everything needed for a lightweight programming editor.  I do not recommend SciTE for beginners because it does not have code completion.

Results

Some of the editors will need to be complied for your operating system.  Using the command “time” and the name of the program, the real load time was crudely measured by opening and closing the program.  Nano was the fastest lightweight programming editor at 0.098 seconds because it was command line. 

SciTE was the fastest lightweight programming editor with a graphical user interface (GUI) at 0.578 seconds.  Geany was my pick and came in third fastest lightweight programming editor at 0.989 seconds.  Bluefish which is my recommendation for beginners for a lightweight programming editor had a time of 1.188 seconds because of plugins and language files.  Gedit had a time of 1.590 seconds which good for fifth place in the review of lightweight programming editors.

In conclusion, the lightweight programming editors where chosen so that they could be easy for beginners to grasp.  Once beginners start progressing, more options will become available.

    Recommendations:

  1. Advanced users can try GNU Emacs and Vim.
  2. Try different editors until you are comfortable and settle on a favourite.
  3. Please make a suggestion if some lightweight editors were overlooked.