<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/">
  <channel>
    <title>Peter's Blog - Nodes for editors</title>
    <link>http://www.petersblog.org/</link>
    <description>Nodes containing the tag editors</description>
    <item>
      <title>Out with one E, in with another</title>
      <link>http://www.petersblog.org/node/view/1576</link>
      <description>&lt;p&gt;
Eclipse annoyances: 
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
cannot just edit a file. Have to have a workspace set up, a project in the workspace and the workspace has to be associated with a perspective. 
&lt;/li&gt;
&lt;li&gt;
project manager is too dopey to see files change on disk and you have to manually refresh. 
&lt;/li&gt;
&lt;li&gt;
project manager file tree has annoying auto-horizontal scrolling behaviour that makes it scroll whenever I don't want it to and we have a tug of war over it. 
&lt;/li&gt;
&lt;li&gt;
build/make configurations seem to last about 20 minutes before they vapourise. 
&lt;/li&gt;
&lt;li&gt;
most menu's have about thirty entries in and I am continually having to search for them. 
&lt;/li&gt;
&lt;li&gt;
as an editor it doesn't seem to offer much more than notepad with syntax highlighting and tabs. 
&lt;/li&gt;
&lt;li&gt;
I get the feeling I need to read a book to be able to use it properly but don't have the time/inclination and also haven't found such a tome. 
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
I searched through the gui text editor state-of-the-art (VIM is great from the command line but doesn't cut it through a gui, especially if the netrw plugin keeps playing up under vista). THE editor of the moment is &lt;a href="http://macromates.com/"&gt;textmate&lt;/a&gt; which has one major limitation: it is only available for Mac OS. Sorry but I'm not buying a Mac just to use Textmate, to me it's not that killer an app (although it's close). 
&lt;/p&gt;
&lt;p&gt;
I found two windows Textmate clones: 
&lt;/p&gt;
&lt;p&gt;
 &lt;a href="http://www.e-texteditor.com/"&gt;E-TextEditor&lt;/a&gt;: uses wxWidgets (scintilla I suspect) and &lt;a href="/tag/cygwin"&gt;cygwin&lt;/a&gt; in an attempt to make it's 'bundles' (aka sets of macros) compatible with textmate. There is a version available for sale for $35. 
&lt;/p&gt;
&lt;p&gt;
 &lt;a href="http://intype.info/home/index.php"&gt;Intype&lt;/a&gt;: doesn't go for total textmate compatablity, more of an 'inspired by' approach. This seems to be in an earlier stage of development than E and they appear to be coding it from scratch. You can download a free version but it doesn't yet have any project management features to select files to edit. What there is seems very solid but I really need the project manager (without it I would stick with vim). 
&lt;/p&gt;
&lt;p&gt;
So I am running the 30 day trial version of E. 
&lt;/p&gt;
&lt;p&gt;
If textmate is better than E then it must be fantastic. E itself is very good and I am included to stick with it. Features: 
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
solid editor (scintilla) 
&lt;/li&gt;
&lt;li&gt;
project manager is more a simple file system viewer except you are able to kind of lock it to only show directories in a chosen subdirectory. This is great for me, all I need from project support. The viewer is somehow magically linked to windows explorer so right clicking an element in the tree gives you the same options you get in explorer which in my case gives me tortoise svn: excellent. Ctrl-shift-T gives you a quick way to find a file within your project by typing the first few letters of its name. 
&lt;/li&gt;
&lt;li&gt;
bundles, the big Textmate innovation. The idea seems to be that instead of having an ugly, quirky built in scripting language (*cough* lisp, *cough* vim macros) there is a finely tuned mechanism for shelling out to unixy command line programs to do the chores. The unixy command line programs can be bash scripts, ruby scripts, whatever, which gives you infinite flexibility without having to build the languages into the editor (hey: these unix guys were onto something all those years ago). This also explains why E needs cygwin to give the unix environment that textmate itself lives in. 
&lt;/li&gt;
&lt;li&gt;
another aspect of the bundle thing is the snippet. You can set snippets up so you type the first couple of letters of a trigger word, then tab and the snippet fills in a load of typing for you. I found a nice use for this in a load of typing I was doing. I had to type a load of switch cases like this: 
&lt;pre class="lazy"&gt;&lt;span class="Keyword"&gt;case&lt;/span&gt; &lt;span class="Constant"&gt;9600&lt;/span&gt;:
   nBaud = B9600;
   &lt;span class="Keyword"&gt;break&lt;/span&gt;;
&lt;/pre&gt;
so I created a snippet like this: 
&lt;pre class="lazy"&gt;&lt;span class="Keyword"&gt;case&lt;/span&gt; $&lt;span class="Constant"&gt;1&lt;/span&gt;:
   nBaud = B$&lt;span class="Constant"&gt;1&lt;/span&gt;;
   &lt;span class="Keyword"&gt;break&lt;/span&gt;;
$&lt;span class="Constant"&gt;0&lt;/span&gt;
&lt;/pre&gt;
now, to fill in each entry I had to type: 
&lt;div class="verbatim-block"&gt;&lt;pre&gt;ca&amp;lt;tab&amp;gt;&amp;lt;number&amp;gt;&amp;lt;tab&amp;gt;
&lt;/pre&gt;&lt;/div&gt;
and that was it! Brilliant. It replaced both instances of $1 at the same time, as I typed. 
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
I particularly like the way it runs ruby scripts. The output from the script is captured and displayed in an html control. If the script dies and generates a stack trace then each point in the trace is displayed as a hyperlink that will open the file/line up in the editor. Brilliant. And the hooks are in there for your own scripts to generate html output... 
&lt;/p&gt;
&lt;p&gt;
E has a few quirks: 
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
under vista the cygwin setup can start moaning about needing to be upgraded. I think this is because the cygwin files are stored under /program files/e which Vista shadows to the /user directories. If you run cygwin as a mortal, all the changes are written to /user somewhere but the old version in /program files/e triggers the nagging next time. This is just a theory. Anyway, run e as administrator, let cygwin do it's thing and the nags go away. Some say the fix is temporary and I don't know, it may be due to cygwin versions changing. 
&lt;/li&gt;
&lt;li&gt;
under XP at home the application title bar disappears when I open a file. It's not a problem unless I want to move the window in which case I have to click about a bit to make it redraw. It's probably a &lt;a href="/tag/windowblinds"&gt;windowblinds&lt;/a&gt;/nvidia problem UPDATE: confirmed, if I disable WindowBlinds Skinning for E then problem goes away. So why is it fussy about being skinned...? 
&lt;/li&gt;
&lt;li&gt;
under the very minor annoyance category (will it grow?) when I double click on a file in the project manager and it opens inthe editor, I have to click on the edit screen before it will vertically scroll with the mouse wheel. 
&lt;/li&gt;
&lt;li&gt;
the command to run a ruby script (ctrl-R) has a silly bug where for some reasons it overwrites your file in a way that causes E to prompt you to reload it. This behaviour may be inherited from the textmate bundles. It is possible to comment out a line in 'scriptmate.rb' to stop it. 
&lt;/li&gt;
&lt;li&gt;
of the other included bundle stuff (and there is a lot), some has been ported to windows, others have not, you have to try them all out. The source is all there in the bundle editor. I had to manually install 'rxvt' in cygwin to get some working. 
&lt;/li&gt;
&lt;li&gt;
this may be a scintilla problem but if the syntax highlighting creates bold text followed by normal text in certain fonts the spacing between the characters is screwed and the gap between is either too small or they characters actually overlap. It's ok with the basic microsoft fonts (courier new) but I prefer serif. I've turned off all the bold elements in the syntax highlighting. 
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
It's a long list of quirks but E has such potential that I think I can live with them. 
&lt;/p&gt;
&lt;p&gt;
Features that may be missing, maybe hidden in the plethora of bundles: 
&lt;/p&gt;
&lt;ul&gt;&lt;li&gt;
tagging: ctags and the ilk. 
&lt;/li&gt;
&lt;li&gt;
no toolbar! Interesting when microsoft is going away from menu's to purely toolbars. Personally I don't miss the toolbars, there are keyboard shortcuts for everything and no toolbar means more screen space. 
&lt;/li&gt;&lt;/ul&gt;

&lt;p&gt;
Conclusion: I'm liking it. 
&lt;/p&gt;&lt;p&gt;Related Posts: &lt;a href="/tag/e"&gt;e&lt;/a&gt; &lt;a href="/tag/editors"&gt;editors&lt;/a&gt;&lt;/p&gt;</description>
      <guid>http://www.petersblog.org/node/view/1576</guid>
      <category domain="http://www.technorati.com/tag">e</category>
      <category domain="http://www.technorati.com/tag">editors</category>
    </item>
  </channel>
</rss>
