Something the article misses: Sublime Text 2 already comes with a command line front end called "subl". Just copy it in your favorite bin/ directory and you can open your files with it from any shell.
Always wondering why the version '2' is emphasised heavily. Never heard of Sublime Text when it is version 1. The version number is part of the app binary file name. It is the only OS X app in my Mac that has the app name together with version number on the menu bar. Nothing wrong with this "unconventional", just that it will break a little thing when Sublime Text 3 is released. For example to change command prompt linking as in "ln -s /Applications/Sublime\ Text\ 2.app/Contents/SharedSupport/bin/subl /usr/local/bin/sublime".
I suspect people emphasize it because the author does. Version 2 is a radically different piece of software from version 1, and I believe that during the alpha/beta development period you could run ST1/2 concurrently if you liked. This may be the reason why the folder name embeds the version number.
Another useful tip for navigation - when using the fuzzy search, you can start typing a filename to jump to that file, then with that still in the search box, hit # and start typing a keyword to jump to in that file.
So if you wanted to find something with the class btn_order in index.aspx, in Windows you'd hit CTRL-P and type "index#btn", hit enter, and there you are. You can of course scroll up/down through the available files matching the filter before you hit # -- the keyword search applies to the currently selected file.
I'm not a huge fan of video sources when I could just look at images/read text and get it done faster, but these do offer some pretty good stuff. I was fond of him giving me the idea to use the Gist plugin, creating a new account, and have a great way to manage snippets.
Sublime team by default need to advertise Packages and just how much you can customize the thing. You'd be amazed just how powerful this thing can be - once you get the hang of it, the shortcuts and some basic packages.
My favorite ones are Zen Coding (now deprecared in favor of Emmet) and SublimeERB when working with ERB - the front-end dev in me cries of joy when using them :-)
> FileDiffs - This can be a really useful tool for diffing files. [...]
This is something I've been looking for. I had to use an external diff tool or vimdiff, but this might change things quite a bit.
The other thing that would be a great addition to ST2 (if not existing already) would be a search by symbol in all project files. Currently Cmd+R is great for navigating to a symbol in the current file. Extending this to a whole project would be awesome.
I'd suggest going through the default settings file to see what options there are to change. It's pretty darn configurable.
I'd also like to suggest the plugins Bracket Highlighter and Emmet (previously Zen Coding). I also use Package Manager, Sublime Linter, and FileDiffs as mentioned in the article.
This is just my opinion, but I think detect_indentation should always be turned on. The reason being that having mixed indentation in a file is worse than having the "wrong" indentation.
I use tabs strictly in my projects, but often times I work on websites built by other people and there's a hodgepodge of 2 spaces, 4 spaces, and tabs. It's best to leave it as it is and get out as soon as possible.
You would version the Preferences / Settings - User file, which overrides defaults in the Preferences / Settings - Default. I found a decent overview of how to store these in drop box with symlinks, but also describes where these are stored - http://wheels.onebuttonapps.net/2012/04/use-dropbox-to-store...
So kind of you to assume that I haven't used it. I use it on Windows and after I formatted my Window 7 and am now on Windows 8, I don't have my Sublime text preferences with me and was wondering how people are versioning and syncing theirs. In vim ( which I don't claim to be an expert user), every setting is in .vimrc. Including the vundler bundles. Now, I have to reinstall all the plugins from Package Control. How do I version the settings? Get a list of installed plugins? Those were my questions, after having used Sublime for a few months now.
Not sure the path for windows, but on OS X you could make a repository at ~/Library/Application Support/Sublime Text 2/Packages. It doesn't separate out system packages (basically all your language info/syntax highlight settings), but all your user-installed packages go there and user settings are in Packages/User. If you cloned that folder into a fresh install, it should bring everything you had previously along with it.
That is actually a big gripe I have with ST2. I would love ST2 to have its config files in an easy Unix-like place. Like dotfiles, or better yet, dot-directories.
(why dot-dirs instead of dot-files? Because while Windows does support symlinks, many programs do delete/newfile instead of modifying files, which breaks symlinks. In a dot-dir, that does not matter.)
But really, this is not a big gripe, and furthermore one easily solvable uing symlinks.
The main reason for preferring spaces is wrapping complex calls split across lines. (Of which there is a lot in some languages such as obj-c or JavaScript.) We just went through the whole tabs vs spaces debate on a new project here with, I think, open minds and a general preference for tabs, and ended up using spaces. The alternative was tabs for basic indentation and spaces for line wrapping but that's too hard to maintain.
I do this too, along with Home/End to navigate. Once in a while though I want to move only half way left of the indent, which is one press on tab, 2-4 of space. Can't use ctrl+left there.
But more than anything I'm sure it's just familiarity.
I got comfortable with 2 spaces over 4-space tab since it was the accepted coding standard for Ruby at my previous job. The habit carried over to Python and I now find it more succinct and clear.
If you're using Sublime I'd highly recommend writing some Snippets, there's plenty you can write and it gets you digging into Sublime's docs. Helped me get used to Sublime a lot more.
This post reminded me that 90% of the developers I work with don't set their editor up properly. I'm constantly finding Windows line endings and trailing whitespace. I wrote this (really short) guide that I send to new developers, but imo editors should come configured like this out of the box. http://wildlyinaccurate.com/setting-up-your-editor
Here's my (rather opinionated) setup. I'm quite visually impaired, so getting my editor just right so I can code comfortably is important. Most of my changes have to do with making things easier to see.
For those who sometimes prefer straight GUI, you can just drag the folder into Sublime Text (or Textmate) and it will open it in the sidebar (probably obvious to some, but I did not know to do it until I saw somebody else do it).
Also, another thing I have grown really attached to:
Command-Option [1,2,3,4] to open up multiple views within one window, good for viewing several files at once.
I use it to write Haskell. The syntax highlighting screws up the first line of multiline record declarations. Out of the box, it can't run a Hoogle search or launch GHCI like TextMate did. It's definitely not a fully-featured Haskell IDE, but it's a usable basic editor. Depending on what you're used to, it may or not be adequate. I switched because I liked the default color theme better (... I mean... because TextMate was being abandoned).
This is the real lesson of this article:
"As a craftsmen it is important to understand and use our tools properly. Just as a painter needs to use the best paint and brushes - and understand how to use them - a developer should understand and use the best software tools available. For me, Sublime Text is the highest-quality brush available."
The biggest win I've had from configuring Sublime Text is in setting up build systems. Specifically, configuring F4/shift-F4 (skip to next/previous error). The build system integration is rudimentary (and I hope that's a focus for Sublime Text 3) but "skip to next error" is all you really need to be productive.
Kind of awesome seeing him mention one of my plug-ins I created to scratch a simple itch (Auto Semi-colon). Definitely motivated me to work on the slight improvements I wanted to implement.
I don't have Sublime set up on Linux so I can test there.
I suspect the author has an older configuration since he's been using it for almost 2 years, and that the keybinding probably changed since then to cmd-p.
IIRC, ⌘P was Sublime's original mapping, and then ⌘T was added on Mac because the then-extremely-popular TextMate had a well-known ⌘T function that was similar.
Sublime has both cmd-t and cmd-p in the OS X version, the general thinking for this seems to be related to other editors (such as Textmate) having used cmd-t. By having this in Sublime by default switching becomes easier.
I find this to be a questionable practice. When coding I like the idea of "trim whitespace from _my changes_ on save", but doing it globally within a file creates a lot of diffs and makes for convoluted commits. Having a +/- 75 lines when you fix a typo in a comment is annoying when doing a code review.
If everybody on the team uses SublimeText (or an equivalent vim extension) I think this is a good idea, but when you have some folks using TextMate or other editors that are notorious for leaving extra whitespace, I find it better just to live with it.