You are here

Bluefish

Submitted by Peter on Mon, 2012-06-11 17:47

Text editors are easy to find. Most are limited by using slow old Java. Bluefish is written in C for a fast start, fast editing, and low overhead, the type of editor you need on a server. 2012: I first wrote about Bluefish in 2007 when Bluefish did not have a working Windows version. Today Bluefish has a working Windows version and that is one less reason to convert from Windows to Linux.

Updated to version 2.2.4.

XML

I need at least one editor that can edit XML using a DTDs or schema for validation. For everything else, an editor with syntax highlighting is enough. Bluefish has autocompletion for XML tags but no more. Bluefish is enough to edit XML parameter files and sample data files where you can immediately test the file. I would not use Bluefish for an XML file that you have to send to a remote site because you cannot validate the file before transmission.

Eclipse Competitor?

Eclipse is a development environment aimed at the top end of the development market where you need to work with projects. Bluefish does not manage files by project. If you want project management without the burden of Eclipse, consider Netbeans.

You could use Bluefish with an external source control mechanism if you need source control only on a small percentage of your code. I use Bluefish with source control applications including SmartGit. When I work on large applications or Web sites, I split the work into projects and use Netbeans to work by project. Netbeans will not open an individual file without a project and I often use Bluefish along side Netbeans to edit or browse individual files. Netbeans does not have a file search and I use Bluefish for the file search.

GTK, not Java

A lot of editors are based on Java; which means they are slow, unreliable, and work only on some operating systems. Java has improved over the years, in part due to Microsoft bring out a better version and creating competition, but Java is still a long way from first choice and still fails to be upwards compatible. I shudder every time I look at the huge number of Java versions need to run a simple desktop application environment.

Bluefish uses GTK and C, both of which work, work efficiently, and work on every useful operating system. One of the first programs I install on every workstation is GIMP, the original source of GTK, which means GTK is on every computer I use for any sort of development. Bluefish can follow GIMP everywhere.

Editing

I tried an early version of Bluefish for a couple of minutes on a Linux machine as an alternative to Vi, Vim, Pico, and Gedit. Heaven.

One Unix bigot told me the advantage of Vi is that Vi is totally standard and available everywhere. In an environment with Solaris and two versions of Linux, Vi was hidden all over the place. Even on Solaris, Vi was on different places on each server. Worse still, every version of Vi used different keyboard shortcuts and none of them matched the reference chart on my workstation wall.

Using a visual editor means you never have to depend on a keyboard shortcut again, you simply click what you want. If you are not stuck on a Mac, you can right click and scroll the wheel to do exactly what you want without having to think about the editor.

Unix bigots laugh at the DOS command line box but work through a command line all day. You can see over 12 million colours but Unix users want to limit us to 2 colours. Bah! Humbug!. Colour highlighting saves time. I measured the impact and found source code editing is 60 percent more efficient in full colour. IBM researched colour and found a minimum of 35 percent improvement. Intelligent source code highlighting in colour also reduces errors by prewarning you about basic typographical errors. Bluefish gives you some highlighting without a massive overhead.

Source Access and Control

Bluefish connects via FTP, SFTP, HTTP, HTTPS, and WebDAV. I still use Filezilla or equivalent for uploading images and downloading backups. The use of Filezilla and various network shares depends on the number of files you transfer. Filezilla adds the important directory compare for the occasions where you have already loaded some files and want to see the remaining differences.

Open Source

You can check open source software for traps including adware, automatic virus installation, and those horrible licence registration and renewals that stop you dead at the worst possible times. Bluefish is open source.

File search

2012: Bluefish has a search for text in a set of files without opening the files. The search is equal to the jEdit search. You can specify the start directory and the start directory defaults to the current open file. There are several search options including the file type. You get a search as good as Windows XP, far better than the rubbish in Windows 7, and it does not crash the way the jEdit search crashes.

Bluefish will eventually stop working after several very large searches, indicating a memory leak or similar problem. Bluefish is updated faster today than every before and should have the remaining problems fixed faster than jEdit or any other competitor except, perhaps, Netbeans.

February, 2013: Bluefish 2.2.4 file search still crashes after a small number of large searches.

Large files

2012: I tested Bluefish with a simple edit of a 360 megabyte text file. Bluefish slowed down to the point where I could not complete anything. Bluefish fails the large file test. Bluefish is very fast with many small files.

February, 2013: The Bluefish 2.2.4 replace function is fast on very small files then slows down to unacceptable speed on medium size files. I tried a 9 MB file and it failed before completing the replace. I tried a 2 MB file with 50000 strings to replace and Bluefish failed after replacing 4000 strings. Gedit completed the same test in a couple of seconds.

Windows or Linux

2012-11-14 I am currently using Bluefish version 2.2.2 on Linux and a similar version on Windows 7. The Linux version is severely broken. A few years ago the Linux version worked and the Windows version did not work. A year ago the Windows version started working. Now the Linux version does not work. Consistency is not high on the Bluefish agenda.

The Linux version loses track of files. you can see part of a directory list but not all. A directory with 20 subdirectories might display the 20 subdirectory for a few minutes then display only 2 subdirectories. Weird.

When you open a file in Bluefish from a directory listing, the open might work or might show an empty file in Bluefish. The only way around the problem is to use the Bluefish File open menu option. There is no reproducibility in any of these errors. They happen dozens of times a day but not every time.

Alternatives

2012: For source code editing, I am using Netbeans more often than Bluefish. Bluefish is still number one on my small netbook. On a fast desktop there is no noticeable speed difference. The project feature in Netbeans is useful when I am working on the same site for several weeks and need to organise a large volume of code into smaller sections. The pop up help in Netbeans is more annoying and I turn most of it off.

2012: I used to use jEdit for file searches and now Bluefish has a search that is as good or better. The only use left for jEdit is side by side comparison and editing on Linux, something I can easily do on Windows with Winmerge.

Conclusion

Bluefish is faster than jEdit and other Java based equivalents for one or many small files. Bluefish is the starting point for a useful editor and should be installed on every machine. If you also want management by project, consider Netbeans.