Dec 21, 2014
Added a note to shortcuts which require the Emmet package.
After giving a presentation that included some live coding, a few audience members asked how I was doing stuff so quickly. Of course there’s no one answer; it’s a combination of a bunch of simple shortcuts and a lot of practice. In response to that inquiry I thought it made sense to see what shortcuts I am using on a daily basis without thinking of it.
Here’s a curated list of
15 16 shortcuts (and 1 custom shortcut), accompanied by gifs, that I use on a daily basis. Enjoy!
– Select Next Match of a Selection
– Select All Matches of a Selection
– Select Opening and Closing Tag Relative to Cursor
– Select Between Container New
– Select Between Brackets
Moving Lines and Text Around
– Move Line Up or Down
– Duplicate Line or Selection
– Indenting and Unindent
Cutting and Removing, Copying, and Pasting
– Cut Line or Selection
– Paste While Respecting Indents
– Wrap Line or Selection with Tag
– Remove Enclosed Container Element
Text and Number Manipulation
– Evaluate Math Expression
– Increment and Decrement
– Upper and Lowercase
Commentating and Aligning Variables
– Comment Selection/Line
– AlignTab with a Custom Keyboard Shortcut
Select Next Match of a Selection: **⌘ + D **
By placing the cursor on a word and hitting ⌘ + D, we select the word. Hitting D a few more time while still holding ⌘ selects the next instance of the selection found. By hitting ⌘, then D three times, I have selected three iterations of the text.
Select All Matches of a Selection: **CTRL + ⌘ + G **
Same thing as above, except grabs all matches within the file. Careful using this one since it will grab all matches within a file..
Select Opening and Closing Tag Relative to Cursor: **⌘ + ⇧ + K **
This is a gem. Maybe you want all attributes to stay the same, but just want to select the tag. This shortcut will do that for you — and notice you can do it with multiple tags at a time. *Emmet package required
Select Between Container: **CTRL + D **
If you place the cursor between the text and hit the above command it will select the text, much like ⌘ + D. But hit it again and you get the parent container, and again to get that parents’ container. *Emmet package required
Select Between Brackets: **⌘ + ⇧ + **Space****
This is helpful for selecting everything between brackets. Works with CSS too.
Move Line Up or Down: **CTRL + ⌘ + ↑ or **↓****
Duplicate Line or Selection: **⌘ + ⇧ + **D****
If you have text selected, it will duplicate your selection. Otherwise, place your cursor on the line and duplicate the whole line.
Indenting and Unindent: **⌘ + [**** or **]****
Cut Line or Selection: **⌘ + **X****
Cuts a line to your clipboard, so you can paste it somewhere else.
Paste While Respecting Indents: ⇧ + ⌘ + V****
Another one I use all the time. In the gif I show both, pasting normally (⌘ + V) versus the paste that accounts for indentation. Notice how the indents line up.
Wrap Line or Selection with Tag: **CTRL + ⇧ + **W****
Wraps a line with a tag; start typing whatever tag you want, and you’re done.
Remove Enclosed Container Element: **⌘ + **’****
This removes the parent tags relative to your cursor. Helpful for cleaning up markup. *Emmet package required
Evaluate Math Expression: **⌘ + ⇧ + **Y****
I never thought I would use this as much as I do… but it’s really helpful. *Emmet package required
Increment and Decrement: **⇧ + OPTION + ↑ or ↓, OPTION + ↑ or ↓****
Holding **⇧ will change the number by 10, and by 1 when not being held. And notice you don’t have to select the number, Sublime Text is smart enough to update the closest number in the line. *Emmet or Hayaku package required
Upper and Lowercase: **⌘ + K then U, ⌘ + K then **L****
Comment Selection/Line: **⌘ + **/****
This works across all languages, and works with lines or whole selections.
Bonus! Use AlignTab with a Custom Keyboard Shortcut
Once you see a change that has to happen on multiple lines, there’s usually a way to accomplish the changes in fewer keystrokes than editing them one by one. By using a combination of the above shortcuts in succession to perform a repetitive or predictable change, you can greatly increase how fast you code.
Here’s a short Gif that combines selecting all matching occurrences, copying the links’ text, utilizing multiple curses to paste that text, and transforming that text to to lowercase.
If you have any shortcuts you’d like to share, check out this post on how to make learning videos and share it with us!