Recent Posts
- Simplicity over Complexity?
- Car Talk
- Subject to Change
- In the Loop this Week
- Inform and UX Workshop
- In the Loop this Week
What’s In The Loop
- Nokia Mobile
- Reading Online
- UX Pioneers
- Am I Seeing Python Everywhere?
- Lazy mom pushes stroller while on a Segway
- The antithesis of usability...
- Secretary with lightning quick hands
- Cooper | Insights | Journal of Design | Articles | About Face 3: Foreword
- Orange Cone: An unusual addition to the UI collection
- National Design Awards | Cooper-Hewitt, National Design Museum
- Read More…
Archives
Categories
RSS – The Loop
The Loop
skEdit, The (Mostly) Perfect Text Editor
I’m crazy about skEdit. I use it every day in my work here at Clearwired. It replaced for me BBEdit, which I had been a paid user of for several versions. (I still keep BBEdit 8.0 around, but I only use it for finding diffs between documents.) I like skEdit so much that I gave it an unsolicited plug in a recent podcast segment.
skEdit has some great features including the following:
- Snippets – insert bits of code with user-configurable key combinations
- Sites – set up sites by project and have all of the files available in the left pane
- Tabs – open multiple files in one, tabbed interface
- The price – it’s just $25 US for a lifetime license, a great deal as long as it continues to be updated!
Granted, my needs are relatively modest. I spend most of my time coding in HTML, CSS, JavaScript and Python. Making the claim that X, Y or Z is the perfect text editor is—to be brutally honest—a flagrant attempt to drive traffic to the site. Let the flame wars begin!
I do love skEdit, but one thing drives me bananas. (I have some other nits to pick, but this is the biggie.)
Double-click on a word in skEdit and drag it somewhere. If the word had a space immediately preceding it, skEdit also erases that space. This is called Smart Insert and Delete and you’ll find it in most word processing applications on the Mac. In the context of a word processor, this feature makes sense and works pretty well.
This “smart” behavior (a feature of Cocoa’s NSTextView) has no business being enabled in a text editor. When you’re coding and you want to cut a piece of text, you don’t want the editor also deleting whitespace. Not cool. Whitespace is often as important as non-whitespace to a programmer (this is especially true if, like me, you code in Python where indentation matters).
What really doesn’t make sense to me is, according to the release notes for version 3.6.1, while smart cutting is enabled (at least in most cases), smart pasting is not. I mean, if you’re going to be clever, why only go halfway?
I wrote Sean Kelly, the developer of skEdit, and asked him, “Any chance you can change this in the next version (or at least make it a preference)?” So far, no response. To give Sean the benefit of the doubt, maybe this is a really tough thing to work around if your app is Cocoa-based.
The next biggest issue for me is that you can only have one remote connection open at a time. It’s great to be able to connect to a remote server using SFTP (or FTP or WebDAV) and edit files directly, but why is it so hard to have multiple concurrent connections open? This isn’t a huge deal, but once in a while it rears its ugly head.
The rest of the Clearwired crew uses TextMate (well, except Kevin, he’s still deciding between skEdit and TextMate). They seem to like it a lot, but most of them also don’t mind spending a little time in vi now and again. (I’m a pico kind of guy, myself.) As Daniel says, “It’s just a text editor.” My perspective is, when you spend 8 (10? 12?) hours a day in it, it had better not make a nuisance of itself. Then again, Daniel also knows a guy who uses Emacs to AIM. To each his own…
Update (2006-09-21 16:33): After posting this, I (finally!) got an email from Sean Kelly, developer of skEdit. He says he will be addressing my concerns about smart cut and paste in the next release. Thanks, Sean!
Trackbacks
Trackback specific URI for this entryComments
Leave a comment?



Sundial taught me how to localize Dashboard widgets. It’s pretty painless, really. If you’re not doing it already, hopefully this article will inspire you.Easier Than You Might Think Sundial in English & French Before develop
Tracked: Sep 28, 17:31