
Configuring Sublime Text 2 - manlycode
http://www.mutuallyhuman.com/blog/2012/10/18/configuring-sublime-text-2/
======
eta_carinae
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.

~~~
pygy_
Even better: use a symlink.

You won't have to copy each update.

    
    
        ln -s target link
    

thus:

    
    
        sudo ln -s "/Applications/Sublime Text 2.app/Contents/SharedSupport/bin/subl" /usr/local/bin/subl

------
jemeshsu
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".

~~~
calinet6
They're not too big on marketing. Doesn't matter; it still works great.

------
molecule
_My first piece of advice is to set up a command line alias for Sublime..._

Sublime ships w/ a command-line executable:

    
    
        /usr/bin/subl

~~~
jurre
This hasn't been working for me for some reason on OSX, the posted alternative
however did work so I'm quite excited!

~~~
kbd
On OSX I just use the built-in 'open -t', which works so long as Sublime Text
is configured to open .txt files.

------
shade
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.

~~~
heelhook
An even better one IMO is @, same thing as with # but it uses symbols.

~~~
calinet6
Or : to jump to a line number. Beautiful.

~~~
missing_cipher
CTRL+G in Windows.

~~~
calinet6
(this is when in the Ctrl+P fuzzy-file-search box, so the colon : in that
context also jumps to the line number in the found file)

------
grimgrin
Here are two other sources that I found pretty useful when switching to
Sublime.

[http://net.tutsplus.com/tutorials/tools-and-
tips/essential-s...](http://net.tutsplus.com/tutorials/tools-and-
tips/essential-sublime-text-2-plugins-and-extensions/)

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.

[http://net.tutsplus.com/articles/news/perfect-workflow-in-
su...](http://net.tutsplus.com/articles/news/perfect-workflow-in-sublime-text-
free-course/)

~~~
doktrin
This (free) video walkthrough is a terrific resource, and with no disrespect
to the OP, is a better resource regarding getting the most out of ST2.

------
ivanbernat
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 :-)

~~~
decad
I agree I recently installed Emmet and it has vastly improved my life (front-
end dev)

------
alexpopescu
> 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.

------
SquareWheel
I've been tweaking my Sublime for 5 months or so, and this is how my config
file looks so far.

    
    
        "color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
        "detect_indentation": false,
        "detect_slow_plugins": false,
        "font_size": 10,
        "highlight_line": true,
        "highlight_modified_tabs": true,
        "margin": 0,
        "move_to_limit_on_up_down": true,
        "remember_open_files": false,
        "shift_tab_unindent": true,
        "tab_completion": false,
        "tab_size": 4,
        "translate_tabs_to_spaces": false,
        "word_wrap": false
    

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.

~~~
wldlyinaccurate
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.

~~~
SquareWheel
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.

------
manojlds
What I need to know is how are people versioning the settings? For Vim, a
simple .vimrc is all I need to take care of. What do people do for Sublime?

~~~
shoebappa
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...](http://wheels.onebuttonapps.net/2012/04/use-dropbox-to-store-your-
sublime-text-2-settings/)

------
scq
I set Ctrl-Tab and Ctrl-Shift-Tab to behave like they do in web browsers and
notepad++:

    
    
        [
            { "keys": ["ctrl+tab"], "command": "next_view" },
            { "keys": ["ctrl+shift+tab"], "command": "prev_view"}
        ]

------
hayksaakian
Tip I figured out accidentally: command + 1 through x changes to the 1 through
xth tab in the current window.

------
feniv
As a python programmer, these were the first two settings I configured after
installing Sublime Text.

    
    
        "tab_size": 2,
        "translate_tabs_to_spaces": true
    
    

You can either set them as Preferences > Settings - Default or Settings -
Syntax specific

~~~
natrius
Uh, two space indentation in Python? Consistency is valuable. Everyone else
who writes Python uses four spaces.

<http://www.python.org/dev/peps/pep-0008/#indentation>

~~~
tass
This is a great reason to use tabs over spaces.

~~~
ketralnis
That everybody else uses spaces?

~~~
yen223
If the file uses tabs, at least you can choose to display the indentations as
2 spaces or 4 spaces.

If the file uses spaces, you don't get to choose.

~~~
SquareWheel
This is my reason for preferring tabs. Plus changing indent levels is faster
via arrow keys.

~~~
kstrauser
And even faster using tab or shift+tab to pop up or down a level, regardless
of whether you're using tabs or spaces.

~~~
SquareWheel
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.

------
nicholassmith
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.

------
wldlyinaccurate
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>

------
javan
Here's my Github-themed, less-ugly-than-the-default setup:
<https://gist.github.com/3164018>

------
kellishaver
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.

[http://kellishaver.tumblr.com/post/29158801106/sublime-
text-...](http://kellishaver.tumblr.com/post/29158801106/sublime-text-2-for-
the-visually-impaired)

------
gavanwoolery
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.

------
batgaijin
Does sublime text 2 work well with CL or Haskell?

~~~
shriphani
I tried using it with Clojure (FWIW) and I really disliked the REPL's style
(maybe I am too used to Emacs here).

I have since decided to use Sublime Text for Python, LaTeX, C, C++ (it really
shines there) and Emacs for Racket and Clojure (I don't use it so much).

------
tylermauthe
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."

Great stuff, thanks!

------
modeless
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.

------
HyprMusic
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.

------
togasystems
Can someone explain the difference between command-p and command-t?

~~~
sandyarmstrong
On OS X, they appear to do the same thing.

On Windows, ctrl-t doesn't seem to do anything.

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.

~~~
veidr
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.

~~~
manojlds
And the famous CommandT plugin for vim inspired from Textmate.

------
darkstalker
The hardest part of configuring Sublime Text is the color scheme. It's written
in some apple XML format that's hard to edit by hand.

~~~
vinhnx
Maybe you will like this <https://github.com/vinhnx/Ciapre.tmTheme>

~~~
gegenschall
I really like this theme. Looks best on Ubuntu. :-)
<https://github.com/buymeasoda/soda-theme>

~~~
vinhnx
Awesome! Glad you like it! :)

------
goldfeld
Why isn't there a plugin to Find in Files in the same way Ctrl-P works? Open
the best match in buffer as results stream in.

------
yen223
Awesome stuff. I would dare say the command palette alone makes ST2 better
than Vim.

------
s1
How to make the same settings for root and my user?

~~~
purephase
If it is the preferences you're modifying, there are per-user specific
settings and default. I believe the default settings will apply for all users.

------
af3
> "trim_trailing_white_space_on_save": true, # trims trailing whitespace

bad for Markdown, as it will delete spaces that are needed for newline, I
believe.

~~~
freerobby
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.

