Skip to content

Instantly share code, notes, and snippets.

@boy12hoody
Last active October 24, 2025 11:30
Show Gist options
  • Select an option

  • Save boy12hoody/be5e0d92e7cdb47bffe49ba8487a61a8 to your computer and use it in GitHub Desktop.

Select an option

Save boy12hoody/be5e0d92e7cdb47bffe49ba8487a61a8 to your computer and use it in GitHub Desktop.
My `~/.config/zed/keymap.json` file
// Zed keymap
//
// For information on binding keys, see the Zed
// documentation: https://zed.dev/docs/key-bindings
//
// To see the default key bindings run `zed: open default keymap`
// from the command palette.
[
// Add line move to vim mode
{
"context": "Editor && vim_mode == normal",
"bindings": {
"alt-k": "editor::MoveLineUp",
"alt-j": "editor::MoveLineDown"
}
},
// Add incremental selection
{
"context": "Editor && vim_mode == visual && !menu",
"bindings": {
"v": "editor::SelectLargerSyntaxNode",
"m": "editor::SelectSmallerSyntaxNode"
}
},
// Add subword selection
{
"context": "VimControl && !menu && vim_mode != operator",
"bindings": {
"alt-w": "vim::NextSubwordStart",
"alt-b": "vim::PreviousSubwordStart",
"alt-e": "vim::NextSubwordEnd",
"alt-shift-e": "vim::PreviousSubwordEnd"
}
},
// Add inner/around quotes/brackets selection
{
"context": "vim_operator == a || vim_operator == i || vim_operator == cs",
"bindings": {
// Traditional Vim behavior
"q": "vim::AnyQuotes",
"b": "vim::AnyBrackets",
// mini.ai plugin behavior
"Q": "vim::MiniQuotes",
"B": "vim::MiniBrackets"
}
},
{
"context": "vim_mode == visual",
"bindings": {
"shift-s": "vim::PushAddSurrounds"
}
},
{
"context": "vim_mode == normal || vim_mode == visual",
"bindings": {
"s": "vim::PushSneak"
}
}
]
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment