Skip to content

Instantly share code, notes, and snippets.

@davatron5000
Last active April 15, 2023 15:39
Star You must be signed in to star a gist
Save davatron5000/7215566 to your computer and use it in GitHub Desktop.
A new user's guide to SublimeText 2. Estimated reading time: 2 mins. Estimated workthrough time: 12 minutes.

Make it useful

  • Install Package Control. For SublimeText 2, paste the following in Terminal:
import urllib2,os; pf='Package Control.sublime-package'; ipp = sublime.installed_packages_path(); os.makedirs( ipp ) if not os.path.exists(ipp) else None; urllib2.install_opener( urllib2.build_opener( urllib2.ProxyHandler( ))); open( os.path.join( ipp, pf), 'wb' ).write( urllib2.urlopen( 'http://sublime.wbond.net/' +pf.replace( ' ','%20' )).read()); print( 'Please restart Sublime Text to finish installation')

From here on out, use Package Control to install everything. +Shift+P, then type Install to get a list of installable packages you can 'livesearch through. After installing plugins, they should be running.

Make it look good

Add helpful tools

  • SideBarEnhancements for an actually useful sidebar.
  • GitGutter tracks line changes in the gutter.
  • Scss syntax highlighting is sorta necessary. Called Scss in Package Control.
  • SublimeLinter makes you code more good. Has HTML/CSS/JS linting and hinting.

There are infinity tools in Package Control, so if you have some kind of weird coding fetish, there's probably a package for you. #R34

Customize settings

In the File Menu, go to SublimeTextPreferencesSettings – User. It opens a JSON file with some options. Here's my setup. Go through and comment on/off each one to see what it does. I try and keep it alphabetized.

{
	"auto_complete": true,
	"auto_complete_commit_on_tab": true,
	"auto_complete_with_fields": true,
	"bold_folder_labels": true,
	"caret_style": "phase",
	"color_scheme": "Packages/Color Scheme - Default/Monokai.tmTheme",
	"detect_indentation": true,
	"fade_fold_buttons": true,
	"folder_exclude_patterns":
	[
		".svn",
		".git",
		".hg",
		"CVS",
		"tmp",
		".bundle",
		".sass-cache"
	],
	"font_size": 12.0,
	"highlight_line": true,
	"highlight_modified_tabs": true,
	"ignored_packages":
	[
		"Vintage"
	],
	"line_padding_bottom": 1,
	"line_padding_top": 1,
	"rulers":
	[
		80
	],
	"soda_classic_tabs": false,
	"soda_folder_icons": true,
	"tab_size": 4,
	"theme": "Soda Light.sublime-theme",
	"translate_tabs_to_spaces": true,
	"trim_trailing_white_space_on_save": true,
	"word_wrap": true,
	"wrap_width": 120
}

Favorite features

Everybody has their favorite built-in features, here are mine:

  • ~$ subl .: You can symlink a SublimeText command line tool that can open folders you've navigated to Terminal. If you want a more graphical approach, drag a folder onto the icon.
  • +t: Quick open files. Just start typing the filename you want. No more folders. Glorious.
  • +f: Find in File. Bonus: Hitting alt+return to "Find All" will multi-select all instances of the search term. Start editing instantly.
  • +Shift+F: Find in Project. Great for grepping redundancies, finding !importants, and more. In the results, click the file location to open it.

There's infinity more features though. Setting up Projects is pretty bad ass because you can hide bullshit build folders (like stylesheets/ and _site/). I'm not a pro at it yet, but it's pretty handy. Lots to love.

@bloqhead
Copy link

Tons of handy stuff here. These are my settings with some things from here thrown in. Nice work.

@hamedqaderi
Copy link

Thanks. I like your setting

@code26
Copy link

code26 commented Feb 12, 2014

Very nice tips. If you're looking for a more readable font, install Inconsolata font then use with

"font_face": "Inconsolata",
"font_size": 11,

http://www.google.com/fonts/specimen/Inconsolata

@jimpriest
Copy link

I try to keep a list of relevant links here: http://thecrumb.com/wiki/sublime Somewhat focused on ColdFusion but a lot of general info there as well.

@growdigital
Copy link

One of my favourite tidbits is EditorConfig, a simple configuration file that ensures file consistency across text editors, eg

# editorconfig.org
root = true

[*]
indent_style = space
indent_size = 2
end_of_line = lf
charset = utf-8
trim_trailing_whitespace = true
insert_final_newline = true

@cferdinandi
Copy link

@djfarrelly - Scroll past end = brilliant! Didn't know about that one, and often found myself adding line breaks during development. Thanks!

@KatieK2
Copy link

KatieK2 commented Oct 13, 2014

Cool resource! But why do you specify behaviors which already default to true? Ex: auto_complete and fade_fold_buttons

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment