In my long tenure at SlickEdit, I’ve learned a few tips and tricks about using SlickEdit. You think faster than you type. Why? The brain has no moving parts. There may be other reasons too, I’m not a doctor.

I believe the biggest time saver that SlickEdit offers is reducing the number of keystrokes you have to type. Because you think faster than you type. So the less time you spend typing, the less likely you are to lose your train of thought.

So SlickEdit tip #743 is as follows: try binding Ctrl/Alt shortcut keys for cursor movement so you do not have to your hands off of the main part of the keyboard. I suggest the following:

Keystroke

SlickEdit Command

Ctrl+I

cursor-up

Ctrl+J

cursor-left

Ctrl+Shift+J

prev-word

Ctrl+K

cursor-down

Ctrl+L

cursor-right

Ctrl+Shift+L

next-word

Ctrl+N

page-down

Ctrl+P

page-up

Depending on what emulations you’ve tried in SlickEdit, you might recognize a few of these already. It takes some getting used to, but since have I adapted to using these key bindings, I believe they have saved me a lot of time. Let me know what you think.

I like to open with a joke. I won’t this time, I’ll close with one. And then I will let Bob Newhart make it funny.

I have spent my entire professional career at here at SlickEdit, and almost from the start, I have handled our version control support. This means a couple of things:

I have only used (on a day-to-day basis) the version control systems that we have used here at SlickEdit. In the early days we used our mutli-file diff feature. I prefer to think of this as a testament to how good our diff feature is rather than what you are thinking – which is probably “that is pure insanity”. In later years we used CVS. Eventually we moved to Subversion. A little sooner than we wanted because of how it handles branches – this is another story.

Because I have to handle supporting them in SlickEdit, I have tested most of the free and commercially available version control systems (and a few that are no longer commercially available) on small source bases. I have not actually used all of them, I have some experience with them. The technical term for this in our industry is, “I know enough to be dangerous”.

We have 3 kinds of version control support in SlickEdit:

Basic “command line” support, where we will run your checkin command according to a specified command line where the file name is filled in.

SCC support – For version control systems that have an SCC provider, we will communicate with it and provide the level of support that SCC allows for. This can be frustrating because if an SCC system crashes, it will cause SlickEdit to crash. This happens occasionally because SCC providers tend to do their testing with Visual Studio, and not other systems.

“Specialized Support” – This is what we provide for CVS, Subversion, git, and now Mercurial. We provide a GUI for viewing what files you have modified, what files are out-of-date (where possible), and a nice history dialog, among other things. Initially we did this sort of support for CVS because it was a different animal than the systems supported by 1 and 2. CVS is more directory oriented, rather than file oriented. This is true of all of the systems that have this kind of support.

Unfortunately, none of our support is a replacement for a basic level of understanding of how to use your version control system. This is increasingly true as time goes on. If you do not understand how Mercurial works, even though we provide some nice GUI interfaces, using Mercurial through SlickEdit will still prove confusing at best. For Mercurial specifically, I would recommend the Joel Spolsky tutorial, especially if you are an experienced Subversion user, as it is tailored for that. Joel’s assertion is that Mercurial is better. As of this writing, I still prefer Subversion, but he makes some interesting points. Either way, it is an excellent introduction to Mercurial.

So, now SlickEdit supports Mercurial, which a little different from git, which is a little different from Subversion, which was a little different from CVS. So, if you’re sitting at home in your basement (excuse me, “office”) writing a version control system that is going to solve the issues with Mercurial that weren’t solved in git, that weren’t solved in Subversion, that weren’t solved in CVS, I would like to say (politely):

STOP IT!

Enough already. The next version control system released needs to offer some real improvements over what is currently available. Since I have to support it, I’ll be the judge of what is a real improvement. Just contact me here… I’m easy to find. I’ve been here my entire adult life, integrating version control systems, comparing files, and working on my manifesto (no, this isn’t it. This doesn’t even scratch the surface).

P.S. The last couple of paragraphs are supposed to be funny. I understand the differences/advantages of these different systems, you don’t need to leave me nasty comments.

P.P.S. If you didn’t find any of what I wrote funny, take a few minutes and allow Bob Newhart to make you laugh.

Arthur C. Clarke’s “The Nine Billion Names of God” is one of my all-time favorite Sci-Fi short stories. (Spoiler Alert) To oversimplify the plot, Tibetan monks hire some computer engineers to put together a system that will print out all the 9 billion names of God, speeding up centuries of effort. Their belief is that after this task is complete, mankind’s purpose on Earth will be fulfilled.

And while my goals are not quite so lofty, I felt it important to demonstrate all the varied ways you can perform searches in SlickEdit. No promises that it’ll save you centuries of effort, but you may learn a few new tricks.

Please note that SlickEdit is a multi-platform, multi-language editor. This recording was done on Mac OS X, which is only one of the 9 platforms options that SlickEdit offers. View all available platform options here.