Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/ttscoff/KeyBindings

DefaultKeybindings.dict for Mac OS X
https://github.com/ttscoff/KeyBindings

Last synced: about 2 months ago
JSON representation

DefaultKeybindings.dict for Mac OS X

Awesome Lists containing this project

README

        

DefaultKeyBinding.dict file (`~/Library/KeyBindings/DefaultKeyBinding.dict`) for Mac OS X, created by
[Brett Terpstra](https://brettterpstra.com) and based heavily on work done by Lri. Please note that these
bindings won't work in all applications: TextWrangler and TextMate, for example, override these with their
own settings.

**Installation**: Copy the DefaultKeyBinding.dict file to the `~/Library/KeyBindings/` directory (create `KeyBindings`
if it doesn't already exist). Any open applications will need to be re-started before the key bindings will take
effect --- or log out and log back in.

The repository includes a script to generate a Dash docset from your customized version of the file.
[See here for details.](https://brettterpstra.com/2022/02/18/keybindings-cheat-sheet-for-dash/)

**Documentation** _(last updated 12/21/2023.)_

*Grouped items begin with the groups shortcut (if exists), followed by a subgroup (if exists) followed by the keys specified.*

General Commands

Key
Function

⌃y
Replace yank: command with yankAndSelect for use with the kill ring (defaults write -g NSTextKillRingSize -int 6)

⌃⌥y
Regular yank, only insert last register and don’t select

⌃⇧u
Uppercase word

⌃⌥u
Lowercase word

⌃⌥t
Titlecase word

⌃⌥⇧u
Uppercase current paragraph

⌃⌥⇧t
Titlecase paragraph

⌃w
Delete word before cursor

⌥w
Select word

⌥⇧w
Select word backward and modify selection

⌥⇧s
Select entire line/paragraph

⌥s
Select from beginning of paragraph to last character

⌃⌥⇧s
Select paragraph excluding leading/trailing whitespace (same as ^$@\UF701)

⌥d
Delete line/paragraph

⌃u
Delete to beginning of paragraph (if this isn’t already defined?)

⌥y
Copy paragraph

⌥x
Cut paragraph

⌥p
Paste paragraph below

⌃⌥p
Yank (from kill ring) paragraph below

⌥⇧p
Paste paragraph above

⌃⌥⇧p
Yank (from kill ring) paragraph above

⌃⇧a
Select to beginning of paragraph and copy

⌃⇧e
Select to end of paragraph and copy

⌥q
Cut to beginning of paragraph

⌥k
Cut to end of paragraph

⌥o
Blank line after current

⌥⇧o
Blank line before current

⌃⌘k
Move line up

⌃⌘j
Move line down

⌃⌘l
Indent line

⌃⌘h
Outdent line (one tab or char)

⌃⌘↑
Move line up (same commands but with arrow keys)

⌃⌘↓
Move line down

⌃⌘→
Indent line

⌃⌘←
Outdent line (one tab or char)

⌃⇧⌘←
Full outdent - Deletes all leading space of line/paragraph (updated) (Control-shift-command-left arrow)

⌃⇧⌘→
Delete trailing space (Control-shift-command-right arrow)

⌃⌘⇧↑
Delete leading and trailing whitespace for paragraph (Control-shift-command-up arrow)

⌃⌘⇧↓
Select paragraph without leading or trailing whitespace (Control-shift-command-down arrow)

⌃⌥⇧↑
Modify selection up by paragraph (Control Option Shift Up) (Control-option-shift-up arrow)

⌃⌥⇧↓
Modify selection down by paragraph (Control Option Shift Down) (Control-option-shift-down arrow)

⌃⌥⇧←
Modify selection left by word (Control-option-shift-left arrow)

⌃⌥⇧→
Modify selection right by word (Control-option-shift-right arrow)

⌘⌥⌃←
Move to first Alphanumeric character of line (Control-option-up arrow Control-option-command-left arrow)

⌘⌥←
Move to first non-whitespace character of line (Control-options-left arrow)

⌘⌥⇧←
Select to first word of paragraph modifying selection (Options-shift-command-left arrow)

⌘⌥⇧→
Select to end of paragraph modifying selection (Option-shift-command-right arrow)

⌥⌘→
Move to last non-whitespace character of paragraph (Option-command-right arrow)

⌃⌥→
Move to end of paragraph and delete trailing whitespace (Control-option-right arrow)

⌘↩
TextMate Command-Return (Command Return)

⌘⇧↩
Insert blank line above paragraph (Command Shift Return)

⇧⌥␣
Insert space and uppercase next character (Shift-Option-Space)

⌃⇧␣
Uppercase next character (Control-Shift-Space)

⌃⌥␣
Move cursor forward with spacebar (shift-space)

⌘⌥_
Hyphenate next space and move to next word (this will kill non alphanumeric symbols and punctuation, use only on words)

⌥1
Bookmark

⌥2
Jump to bookmark

⌥⌘↩
Continue a list item with indentation and include the same delimiter (Command Option Return)

⇧⇥
Remove one tab (or character) from start of line (outdent) (Shift Tab)

⌘⌥b
Bold selection (Markdown)

⌘⌥i
Italicize selection (Markdown)

⌘⌥`
Backtick selection (Markdown)

⌃⌘↩
Break line with double space (Markdown) (Control-Command-Return)

⌘⌥=
Increase markdown header level

⌘⌥-
Decrease markdown header level

⌘⌥>
Increase blockquote header level

⌘⌥<
Decrease blockquote level

⌃<
Make selected text into paired HTML tag. Allows attributes, only dupes first word into closing tag (caveat: overwrites your pasteboard)

⌥⇧r
Repeat character before cursor

⌘⇧⌦
Forward delete to end of paragraph

⌘⇧⌫
Delete to beginning of paragraph (Command-shift-delete)

⌘⌥7
Right mouse click (useless, doesn’t maintain cursor position)

⌘⌥⇧s
Real, honest-to-goodnes Save As…

Multi–stroke casing commands (⌃⌥c)

⌃⌥c

c
Snake_case to camelCase (delete forward and capitalize)

⌃⌥c

s
Snake_case word break

Commenting commands (⌃⌘c)

⌃⌘c

/
Comment with “//”

⌃⌘c

 
Comment with “#”

⌃⌘c

!
HTML commenting

⌃⌘c

*
Css Commenting

Multi–stroke Markdown commands (⌃⌘w)

⌃⌘w


Force carriage return in text field

⌃⌘w


Force tab in text field

⌃⌘w

[
Insert reference link [selection][[cursor]]

⌃⌘w

]
Insert reference [selection]: [cursor]

⌃⌘w

`
Fence code (new) (Requires text selection)

⌃⌘w

f
Insert inline footnote marker or inline footnote (new)

⌃⌘w

+
Unordered list item with +

⌃⌘w

-
Unordered list item with -

⌃⌘w

*
Unordered list item with *

⌃⌘w

.
Numeric list item (new)

⌃⌘w

8
Convert current numbered list item to bullet, handles indentation

⌃⌘w

1
Convert current bullet list item to numbered

Headlines (removes leading whitespace after inserting hashmarks) (h)

⌃⌘w
h
1
#

⌃⌘w
h
2
##

⌃⌘w
h
3
###

⌃⌘w
h
4
####

⌃⌘w
h
5
#####

⌃⌘w
h
6
######

Markdown link (l)

⌃⌘w
l
t
Create a link for selected text, cursor between () [selected text]([cursor]) (links without selected text first, these can produce a mess using multiple clipboards make a text selection before you run them)

⌃⌘w
l
c
Create a link for selected text, inserting clipboard as url [[cursor]selected text](clipboard contents)

⌃⌘w

s
SearchLink Basic Link

Link as image (i)

⌃⌘w
i
t
Same as lt, but with image syntax \!\[selected text]([cursor])

⌃⌘w
i
c
Same as lc, but with image syntax \!\[selected text](clipboard)

⌃⌘w
i
d
Same as lc, but with image syntax and “+” for Droplr links ![selected text](clipboard+)

Reference links (:)

⌃⌘w
:
t
Create a reference from selected text

⌃⌘w
:
c
Create a reference from selected text, clipboard as url

HTML commands (⌃⌘e)

⌃⌘e

=
=“[cursor]”

⌃⌘e

e
Entity &[cursor];

⌃⌘e

/
Https://

⌃⌘e

t
Make previous word into paired HTML tag

HTML Links (a)

⌃⌘e
a
t
Insert HTML link for selected text, leave cursor in the href with “https://” selected

⌃⌘e
a
c
Insert HTML link with clipboard as href

HTML Image (i)

⌃⌘e
i
t
Insert image tag, any selected text is alt text, leave cursor in src attribute

⌃⌘e
i
c
Insert image tag, clipboard as src, any selected text as alt, leave cursor at beginning of alt attribute

Surround commands (⌃⌘s)

⌃⌘s

(
Wrap () no spaces

⌃⌘s

)
Wrap () with spaces

⌃⌘s

[
Wrap [] no spaces

⌃⌘s

]
Wrap [] with spaces

⌃⌘s

{
Wrap {} no spaces

⌃⌘s

}
Wrap {} with spaces

⌃⌘s

<
Wrap <> no spaces

⌃⌘s

>
Wrap <> with spaces

⌃⌘s

'
Wrap single quotes

⌃⌘s

`
Wrap backticks

Jekyll Shortcuts (⌃⌘j)

⌃⌘j

p
Pullquote Liquid Tag (new)

⌃⌘j

r
Raw Liquid Tag (new)

⌃⌘j

⇧r
Raw Tag for entire paragraph (new)

TaskPaper Tags (⌃⌘t)

⌃⌘t

d
@done (new)

⌃⌘t

p
// @priority() (new)

⌃⌘t

n
@na (new)

⌃⌘t

t
@today (new)

SearchLink commands (⌃⌘g)

⌃⌘g

g
SearchLink Syntax: Google (new)

⌃⌘g

⇧a
SearchLink Syntax: Amazon (new)

Apple (a)

⌃⌘g
a
i
SearchLink Syntax: iOS App (new)

⌃⌘g
a
m
SearchLink Syntax: Mac App Store (new)

⌃⌘g

s
SearchLink Syntax: Software (new)

⌃⌘g

m
SearchLink Syntax: IMDB (new)

⌃⌘g

b
SearchLink Syntax: BrettTerpstra.com (new)

⌃⌘g

p
SearchLink Syntax: BrettTerpstra.com Projects (new)

⌃⌘g

t
SearchLink Syntax: Twitter User (new)

This documentation is generated automatically from the comments and commands in the DefaultKeyBinding.dict file. The script `document_keybindings.rb` is free for use, but it's specifically designed for use with my formatting in the bindings plist (i.e. it's a little finicky).