Saturday, August 26, 2006

» Favorite editor +

I'm a pariah when it comes to my favorite (grafical) text-editor. I've tried gvim, xemacs, scite, and I have gripes with all of them. I like Gedit. That's right. Gedit. Now that you're done gawking at how non-geeky, non-hacker-ish, lame I am, let me explain why.

Gvim
  • Moded editing...need I say more? Yes? OK, what about...moded editing!

Xemacs
  • Funky keys
  • Bloat...I personally don't want an editor that checks my email, triangulates satellite positions, and brews me coffee. Some people like that. I'd rather have software that does one job, and does it well.
  • Elisp? Eh, no thanks. I don't want to have to write a program just to change tab spacing or background color or syntax hilighting (OK... extensibility through a scripting language is nice... but Lisp... hmmm, not may favorite language).

SciTE
  • I really like this editor, my only gripe is that switching to utf-8 encoding inserts a BOM with no option to do otherwise! A utf-8 BOM is retarded anyhow. The encoding of the document should be determined by the locale, or by explicitly setting it, not by some magic byte-sequence.

So what about Gedit? Well Gedit supports all the standard keys that I use on the rest of the system (Ctrl-C, Ctrl-X, Ctrl-Z, &c). It also supports the various GTK input methods. It is very un-bloated (multi-line indentation, case conversion and so forth are handled by plugins which can be enabled or disabled by the user through the UI). And it supports customizable syntax hilighting of various languages (such as ruby!). It is utf-8 compliant and is free. It has user configurable tools which can be bound to custom accelerators, and a local snippet library plugin (many ruby snippets for doing common things like if...then) with support for binding snippets to accelerators (or just use tab-completion on any snippet). So why not use it?

Here is my current ruby hilighting scheme for Gedit (based roughly on the ruby-lang scheme for displaying code fragments. This is a gconf dump, use gconftool-2 to load it):

<gconfentryfile>
<entrylist base="/apps/gedit-2/preferences/syntax_highlighting/Ruby">
<entry>
<key>Attribute@32@Definitions</key>
<value>
<string>2/#2f2f8c8c8787/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>Builtins</key>
<value>
<string>2/#7e7e7e7e7e7e/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>Class@32@Variables</key>
<value>
<string>2/#2f2f8c8c8787/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>Constants</key>
<value>
<string>2/#d3d363632929/#000000000000/0/0/0/0</string>
</value>
</entry>
<entry>
<key>Definitions</key>
<value>
<string>2/#f9f9bbbb0000/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>Double@32@Quoted@32@String</key>
<value>
<string>2/#0000cccc0000/#000000000000/0/0/0/0</string>
</value>
</entry>
<entry>
<key>Global@32@Variables</key>
<value>
<string>2/#2f2f8c8c8787/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>Instance@32@Variables</key>
<value>
<string>2/#2f2f8c8c8787/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>Keywords</key>
<value>
<string>2/#f9f9bbbb0000/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>Line@32@Comment</key>
<value>
<string>2/#42428b8bdddd/#000000000000/0/0/0/0</string>
</value>
</entry>
<entry>
<key>Module@32@Handlers</key>
<value>
<string>2/#ad92442737b1/#000000000000/0/0/0/0</string>
</value>
</entry>
<entry>
<key>Multiline@32@Comment</key>
<value>
<string>2/#42428b8bdddd/#000000000000/0/0/0/0</string>
</value>
</entry>
<entry>
<key>Pseudo@32@Variables</key>
<value>
<string>2/#7e7e7e7e7e7e/#000000000000/0/1/0/0</string>
</value>
</entry>
<entry>
<key>RegExp@32@Variables</key>
<value>
<string>2/#d3d363632929/#000000000000/0/0/0/0</string>
</value>
</entry>
<entry>
<key>Single@32@Quoted@32@String</key>
<value>
<string>2/#0000cccc0000/#000000000000/0/0/0/0</string>
</value>
</entry>
<entry>
<key>Symbols</key>
<value>
<string>2/#0000cccc0000/#000000000000/0/1/0/0</string>
</value>
</entry>
</entrylist>
</gconfentryfile>

3 Comments:

Anonymous Anonymous said...

Did you also give http://www.kate-editor.org/ a try?
September 26, 2006 at 3:18 AM

 
Blogger MonkeeSage said...

Well, yes, when I tried KDE several years ago. I liked the editor alot. But I'm a GNOME/XFCE man. So, of course, I go for the native GTK apps whenever possible.

I hope (can you say "pipe-dream") that someday, someone alot smarter than me will write a spec that will allow hooking independent backends up to any GUI toolkit -- GTK, QT, FOX, TK, or what-have-you. A sort of toolkit-toolkit, or meta-toolikit. That way, all of the apps targeted for different toolkits can share the same backend code and all of the different apps that exist now could be merged, and eveybody would win.

WxWidgets is similar, but not quite there yet. Until that magical day, I'll stick with my GTK apps. ;)
January 4, 2007 at 5:27 PM

 
Blogger Evan Plaice said...

I agree that gedit is a great little editor. When I make the leap to using *nix full time a few years ago I chose it as my replacement for notepad++ and I have come to like it a lot more (mostly because of the drop-in plugin system).

If you code, don't forget to grab the gedit-plugins package. It has some great little programmer tools (like embedding a python console and drawing whitespaces).

Also, don't forget to disable the 'file browser' plugin (it's turned on by default). If you don't use it, it will decrease the cold start time (making application starts more snappy).
February 13, 2011 at 1:57 PM

 

Post a Comment

Links to this post:

Create a Link

<< Home