Here’s a Sublime Text Cheat Sheet that I just created based on what I’ve seen from others and with a few plugins of my own. Some of the links may not work since they refer to my dropbox folder. Posting it here is really for my own benefit, but it may be of use to some of you too.
Command Palette
- Open Palette: Ctrl+Shift+P (Tools > Command Palette…)
Selection (can Be Repeated Multiple Times)
- Select line: Ctrl+L (Selection > Expand Selection to Line)
- Select word: Ctrl+D (Selection > Expand Selection to Word)
- Skip selection: Ctrl+K, Ctrl+D
- Undo last selection: Ctrl+U
- Select scope: Ctrl+Shift+Space (Selection > Expand Selection to Scope)
- Select brackets: Ctrl+Shift+M (Selection > Expand Selection to Brackets)
- Select indentation: Ctrl+Shift+J (Selection > Expand Selection to Indentation)
- Select tag: Ctrl+Shift+A (Selection > Expand Selection to Tag)
- Scroll to selection: Ctrl+K, Ctrl+C (Goto > Scroll > Scroll to Selection)
Editing
- Insert line after: Ctrl+Enter
- Insert line before: Ctrl+Shift+Enter
- Repeat last keyboard command: Ctrl+Y (Edit > Repeat)
- Transpose: Ctrl+T (Edit > Text > Transpose)
- (Un)Comment current line: Ctrl+/ (Edit > Comment > Toggle Comment)
- Block (un)comment current selection Ctrl+Shift+/ (Edit > Comment > Toggle Block Comment)
- Paste and indent correctly: Ctrl+Shift+V (Edit > Paste and Indent)
- Uppercase: Ctrl+K, Ctrl+U (Edit > Convert Case > Upper Case)
- Lowercase: Ctrl+K, Ctrl+L (Edit > Convert Case > Lower Case)
Deleting
- Delete word forwards: Ctrl+Del
- Delete word backwards: Ctrl+Backspace
- Delete line: Ctrl+Shift+K (Edit > Line > Delete)
- Delete from cursor to end of line: Ctrl+K, Ctrl+K
- Delete from cursor to start of line: Ctrl+K, Ctrl+Backspace
Find/replace
- Find: Ctrl+F (Find > Find…)
- Find Next: F3 (Find > Find Next)
- Find Previous: Shift+F3 (Find > Find Previous)
- Replace: Ctrl+H (Find > Replace…)
- Find in files: Ctrl+Shift+F (Find > Find in Files…) (Navigate using F4, Shift+F4)
Goto Anything
- Go to file: Ctrl+P (Goto > Goto Anything…)
- Go to symbol: Ctrl+P, “@symbol” (Ctrl+R, Goto > Goto Symbol…)
- Go to line number: Ctrl+P, “:#” for line (Ctrl+G, Goto > Goto Line…)
- Go to word: Ctrl+P, “#word” (Ctrl+;)
Line Operations
- Indent current line(s): Ctrl+] (Edit > Line > Indent)
- Unindent current line(s): Ctrl+[ (Edit > Line > Unindent)
- Move line/selection up: Ctrl+Shift+Up (Edit > Line > Swap Line Up)
- Move line/selection down: Ctrl+Shift+Down (Edit > Line > Swap Line Down)
- Duplicate lines: Ctrl+Shift+D (Edit > Line > Duplicate Line)
- Join lines: Ctrl+J (Edit > Line > Join Lines)
Navigation
- Jump to matching bracket: Ctrl+M (Goto > Jump to Matching Bracket)
- Jump to your last change: Ctrl+U (Edit > Undo Selection > Undo) (repeat to undo change)
Bookmarks
- Toggle bookmark: Ctrl+F2 (Goto > Bookmarks > Toggle Bookmark)
- Next bookmark: F2 (Goto > Bookmarks > Next Bookmark)
- Previous bookmark: Shift+F2 (Goto > Bookmarks > Previous Bookmark)
- Select all bookmarks: Alt+F2 (Goto > Bookmarks > Select all Bookmarks)
Code Folding:
- Fold: Ctrl+Shift+[ (Edit > Code Folding > Fold)
- Unfold: Ctrl+Shift+] (Edit > Code Folding > Unfold)
- Unfold all: Ctrl+K,Ctrl+J or Ctrl+K,Ctrl+0 (Edit > Code Folding > Unfold All)
- Fold by level number Ctrl+K,Ctrl+# (Edit > Code Folding > Fold Level #)
- Fold markup tag attributes: Ctrl+K,Ctrl+T (Edit > Code Folding > Fold Tag Attributes)
Macros
- Record: Ctrl+Q (Tools > Record Macro)
- Playback: Ctrl+Shift+Q (Tools > Playback Macro)
Tabs
- Previous tab: Ctrl+PgUp (Goto > Switch File > Previous File)
- Next tab: Ctrl+PgDown (Goto > Switch File > Next File)
- Switch to tab number: Alt+number (Goto > Switch File > …)
Split Layout
- Set single layout: Alt+Shift+1 (View > Layout > Single)
- Set # columns: Alt+Shift+2,3,4 (View > Layout > Columns)
- Set 2 or 3 rows: Alt+Shift+8,9 (View > Layout > Rows)
- Set 2×2 grid: Alt+Shift+5 (View > Layout > Grid)
- Move to group #: Ctrl+# (View > Focus Group)
- Move file to group #: Ctrl+Shift+# (View > Move file to Group)
Organization
- Toggle side bar: Ctrl+K, Ctrl+B (View > Side Bar > Hide Side Bar)
- Distraction free: Shift+F11 (View > Enter Distraction Free Mode)
- Enable spell-check: F6 (View > Spell Check) (Navigate using Ctrl+F6, Ctrl+Shift+F6)
Multiple Cursors
- Press Ctrl then click in each region
- Ctrl+Shift+L (Selection > Split into Lines)
- Highlight word, press Ctrl+D (Selection > Expand Selection to Word) repeatedly to select additional occurrences of that word.
- Add cursor at all occurrences of a word with Alt+F3 (Find > Quick Find All)
- Add new line with cursor: Ctrl+Alt+Up, Ctrl+Alt+Down (Selection > Add Previous Line)
- Return to single selection: Esc (Selection > Single Selection)
- You can select a rectangular selection by using Shift, then holding the right mouse button and dragging over the area you wish to select. You can remove part of the selection using Shift+Alt.
Marking
- Set mark: Ctrl+K, Ctrl+Space (Edit > Mark > Set Mark)
- Select to mark: Ctrl+K, Ctrl+A (Edit > Mark > Select to Mark)
- Delete to mark: Ctrl+K, Ctrl+W (Edit > Mark > Delete to Mark)
- Switch location with mark: Ctrl+K, Ctrl+X (Edit > Mark > Swap with Mark)
- Clear Mark: Ctrl+K, Ctrl+G (Edit > Mark > Clear Mark)
Projects
- Switch Project: Ctrl+Alt+P (Project > Switch Project in Window…)
- Select root folder: Project > Add Folder to Project…
- Save: Project > Save Project As… (.sublime-project file)
Miscellaneous
- Show scope in status bar: Ctrl+Alt+Shift+P
- Re-indent Lines: Edit > Line > Reindent
- Close Tag: Alt+.
- Reopen Closed File: Ctrl+Shift+T (File > Open Recent… > Reopen Closed File)
- See Key Bindings: Preferences > Key Bindings – Default
- A list of all installed packages is in “%AppData%\Sublime Text 2\Packages\User\Package Control.sublime-settings” (see “installed_packages”)
My User Settings and Sublime Theme / Colour Scheme
Preferences > Settings – User :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41
|
{ "bold_folder_labels": true, "caret_style": "phase", "color_scheme": "Packages/Ciapre Color Scheme/CiapreBlack.tmTheme", // Note: I modified this colour scheme slightly to change the lineHighlight and selection colours to #333435 and #454647 respectively "detect_indentation": false, "draw_minimap_border": false, "ensure_newline_at_eof_on_save": true, "fade_fold_buttons": false, "font_face": "Inconsolata", "font_options": [ "directwrite" ], "font_size": 10, "highlight_line": true, "highlight_modified_tabs": true, "hot_exit": false, "ignored_packages": [ "Vintage", "ZenCoding" ], // "indent_guide_options": // [ // "draw_active" // ], "line_numbers": true, "line_padding_bottom": 1, "line_padding_top": 1, // "rulers": // [ // 80, // 120 // ], "spell_check": true, "tab_size": 4, "theme": "Soda Dark.sublime-theme", "translate_tabs_to_spaces": true, "trim_trailing_white_space_on_save": true, "use_tab_stops": true } |
Preferences > Key Bindings – User :
|
{ "keys": ["ctrl+shift+r"], "command": "reindent" , "args": {"single_line": false}}, { "keys": ["ctrl+j"], "command": "join_lines" }, { "keys": ["ctrl+shift+j"], "command": "prettyjson"}, { "keys": ["ctrl+shift+u"], "command": "break_line_at_commas" } |
Snippets
Common JQuery snippets :
|
$.ajax, tab .change, tab $ready, tab .on, tab selector, tab jq-boilerplate, tab jq-boilerplate-min, tab |
Packages I Use
Used to convert JSON to PList for Syntax Highligher creation
- I used this to create the PeopleCode syntax definitions
File Creation Plugin
- Create New File: Ctrl+Alt+N
Preferences > Package Settings > AdvancedNewFile > Settings – User :
|
{ "alias": { "desktop": "C:/Users/jay/Desktop/", "temp": "C:/Users/jay/AppData/Local/Temp" } } |
Automatically Save Off A Backup Of Your Files Each Time You Save A File.
- Backwards in history: Ctrl+Alt+[
- Forwards in history: Ctrl+Alt+]
- Merge from backup history: Ctrl+Alt+Shift+M
Preferences > Package Settings > Automatic Backups > Settings – User :
|
{ "backup_dir": "D:/Backups", "backup_merge_command": "C:/Program Files (x86)/Beyond Compare 2/BC2.exe \"{oldfilepath}\" \"{curfilepath}\"" } |
Bracket And Tag Highlighter.
Preferences > Package Settings > Bracket Highlighter > Settings – User :
Remember, restore and sync scroll, bookmarks, marks, folds and cursors.
Keep a history of your clipboard items.
- Show History: Ctrl+Alt+V
- Paste Previous History Entry: Ctrl+Shift+V
- Paste Newer History Entry: Ctrl+Shift+Alt+V
CTags Support.
- Find > CTags
- Rebuild Tags: Ctrl+T, Ctrl+R
- Navigate to Definition: Ctrl+T, Ctrl+T
- Search for Definition: Ctrl+T, Ctrl+Y
- Jump Back: Ctrl+T, Ctrl+B
- Show Symbols: Alt+S (multi: Alt+Shift+S, language: Ctrl+Alt+Shift+S)
Make Writing Documentation A Breeze. Supports Javascript, Php, Actionscript, Coffeescript, Java, Objective C, C And C++.
/**
< Enter >
/*
< Enter >
/**
< Enter >function foobar (baz, quux) { }
– where function (or variable definition) already exists. Shift-Enter will place the definition inline.
- Decorate comment:
// foo!
< Ctrl+Enter >
Emmet (previously Called Zen Coding).
- Documentation
div#page.section
-> <div id="page" class="section"></div>
div[title="Hello"]
-> <div title="Hello"></div>
li.item$*3
-> <li class="item#"></li>
(3 times)
p>{Click }+a{here}+{ to continue}
-> <p>Click <a href="">here</a> to continue</p>
div#page>(div#header>ul#nav>li*4>a{Item $})+(div#page>(h1>span)+p*2)+div#footer
-> quite complicated div structure
Encoding Helper provides the following features:
- attempts to guess encoding of files
- shows encoding on status bar
- shows when the current document is maybe broken because was opened with an incorrect encoding
- converts to UTF-8 from a variety of encodings organized in a menu.
- converts to UTF-8 quickly from guessed encoding via an
Edit
menuitem
- converts to UTF-8 automatically when opening a file via some defined encodings found on User preferences
Preferences > Settings – User :
|
{ // EncodingHelper: To show encoding on status bar "show_encoding_on_status_bar" : true, // Encoding Helper: Additional encodings to test when no accurate guess can be made "fallback_encodings": ["UTF-8", "ISO-8859-1", "UTF-16", "UTF-32"] } |
Export code to HTML for copying/printing/saving – great for copying code into Word documents
- Ctrl+Shift+P, Export to HTML: Show Export Menu
Shows Diffs Between The Current File, Or Selection(s) In The Current File, And Clipboard, Another File, Or Unsaved Changes.
Preferences > Package Settings > FileDiffs > Settings – Default :
|
{ "cmd": [ "C:/Program Files/Araxis/Araxis Merge/Merge.exe", "$file1", "$file2" ] } |
Assist In Finding Key Conflicts Between Various Plugins.
- Ctrl+Shift+P, FindKeyConflicts
For formatting SQL Statements * Ctrl+Shift+P Format SQL
For formatting XML Files * requires xmllint * Select xml to format and then press Ctrl+Shift+X
- xmllint Installation:
- xmllint requires libxml, which requires iconv and zlib
- Download libxml2, iconv and zlib from ftp://ftp.zlatkovic.com/libxml
- Copy exes and dlls of libxml2, iconv and zlib to C:\Program Files (x86)\Tools
- Add C:\Program Files (x86)\Tools\ to Path if not done already
- Copy tidy_xml_lint directory from dropbox to Packages dir
Generate Uuid
- Generate UUID: Ctrl+Shift+U
Git Integration
- Wiki
- Install Git using “Run Git from the Windows Command Prompt”
- Tools > Git
Allows you to quickly write CSS – the beauty is that it guesses what you want, but also has pre-programmed values
fl
-> float: left
* oh
-> overflow: hidden
Allows The Toggling Of A File Into A Hex Viewing Mode
- Tools > Packages > Hex Viewer
- NOTE: Shortcuts conflict with “build”
- Toggle hex editor mode: Ctrl+Shift+B, Ctrl+Shift+H
- Show hex inspector: Ctrl+Shift+B, Ctrl+Shift+I
Preferences > Package Settings > Hex Viewer > Settings – User :
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
{ "auto_open": true, "auto_open_patterns": [ "*.bin", "*.dll", "*.ico", "*.lib", "*.pyc", "*.exe", "*.res" ], "bytes_per_line": 16, "custom_font": "Consolas", "custom_font_size": 12, "group_bytes_by_bits": 8, "inspector": false } |
Highlight mutiple words in different colors.
- Highlight Words: Ctrl+Alt+H (Edit > Highlight Words > Highlight Words)
- Unhighlight Words: Ctrl+Alt+U (Edit > Highlight Words > Unhighlight Words)
HTML5 bundle.
INI Syntax Highlighting.
Javascript formatter
- Select ALL JavaScript to format and then press Ctrl+Shift+P, Format JavaScript
Javascript minifier using Google Closure
- Minify Javascript: Ctrl+Alt+M, Markdown Preview
- Minify Javascript to file: Ctrl+Alt+Shift+M
Preview Your Markdown Files Quickly In Your Web Browser.
- Ctrl+Shift+P, Markdown Preview
- Use “Fetch: Manage” to manage all the files/packages you can fetch. Has JQuery and HTML5 Boilerplate by default
- Use “Fetch: File” to fetch the contents of the file
- Use “Fetch: Package” to store a package (zip) at a specified location
Open URLs, Files, Folders, Or Google Text Under The Cursor Or In Selected Text.
Split the window however you like!
- Ctrl+K then press the arrow keys with modifiers:
- (no modifiers): travel to an adjacent pane
- Shift: carry the current file to the destination
- Alt: clone the current file to the destination
- Ctrl: create an adjacent pane
- Ctrl+Shift: destroy an adjacent pane
Support For The Ms PowerShell 2 Programming Language.
For cross-browser css prefixing * Ctrl+Alt+X
Prettify JSON.
Preferences > Package Settings > Pretty JSON > Settings – User :
|
{ "ensure_ascii": true, "indent": 4, "sort_keys": true, "use_entire_file_if_no_selection": true } |
Preferences > Key Bindings – User :
|
{ "keys": ["ctrl+shift+j"], "command": "prettyjson" } |
Provides Enhancements To The Operations On Side Bar Of Files And Folders.
- Open current file in browser: F12 (NOTE: doesn’t support IE)
Breaks a line into multiple lines using comma as a delimiter
- Requires manual installation in Packages folder
Html, Css And Javascript Code Formatter.
- Requires Node.js
- Prettify: Ctrl+Shift+P, htmlprettify
Highlights Lines Of Code The Linter Deems To Contain (potential) Errors.
- CSS, JS requires Node.js
- C++ requires cppcheck
- Note that C++ filters can’t be modified
- HTML requires tidy
- Installation
- Download tidy.zip from http://tidybatchfiles.info/
- Extract the tidy.exe to your desired folder. eg. C:\Program Files (x86)\Tools
- Lint: Ctrl+Alt+L
- Next/Previous Error: Ctrl+Alt+E, Ctrl+Alt+Shift+E
Preferences > Package Settings > SublimeLinter > Settings – User :
|
{ "sublimelinter": "load-save", "sublimelinter_executable_map": { "c": "C:\\Program Files\\cppcheck\\cppcheck.exe", "css": "C:\\Program Files\\nodejs\\node.exe", "javascript": "C:\\Program Files\\nodejs\\node.exe", "html": "C:\\Program Files (x86)\\Tools\\tidy.exe" }, "sublimelinter_gutter_marks": true, "sublimelinter_popup_errors_on_save": true } |
Edit simple text tables in text mode.
- Usage: Preferences > Package Settings > Table Editor > README
- Demo: Ctrl+Shift+P, Table Editor: Show demo film in new scratch view
Collection Of Packages About Tags.
- Edit > Tag
- Put matching closing tag: Alt+.