nixos configs
at main 96 lines 2.9 kB view raw
1[ 2 { 3 // "context": "VimControl && !menu && vim_mode != operator && vim_mode != visual", 4 // basic movement 5 "context": "!menu && vim_mode == normal && vim_mode != operator && vim_mode != visual", 6 "bindings": { 7 "n": "vim::Left", 8 "e": "vim::Down", 9 "u": "vim::Up", 10 "i": "vim::Right", 11 "h": "vim::PageDown", 12 "k": "vim::PageUp", 13 "space n": "vim::StartOfLine", 14 "space i": "vim::EndOfLine", 15 "y": "vim::NextWordStart", 16 "space y": "vim::NextWordEnd", 17 "l": "vim::PreviousWordStart", 18 "space l": "vim::PreviousWordEnd", 19 "space u": "vim::StartOfDocument", 20 "space e": "vim::EndOfDocument" 21 } 22 }, 23 { 24 "context": "Editor && !menu && vim_mode == insert", 25 "bindings": { 26 "escape": ["workspace::SendKeystrokes", "escape :w enter"] 27 } 28 }, 29 { 30 "context": "vim_mode == replace", 31 "bindings": { 32 "'": "vim::AnyQuotes", 33 "(": "vim::AnyBrackets", 34 "n": "vim::CurrentLine", 35 "e": "vim::Word" 36 } 37 }, 38 { 39 // "context": "vim_mode == normal || vim_mode == visual || vim_mode == operator", 40 "context": "vim_mode == visual", 41 "bindings": { 42 "r": "vim::PushChange", 43 "i": ["vim::PushObject", { "around": false }], 44 "w": "vim::Word", 45 "e": ["workspace::SendKeystrokes", "i w"], 46 "t u": "vim::SelectLargerSyntaxNode", 47 "t e": "vim::SelectSmallerSyntaxNode" 48 } 49 }, 50 { 51 "context": "Editor && vim_mode == normal", 52 "bindings": { 53 "escape": "editor::Cancel", 54 ":": "command_palette::Toggle", 55 ".": "vim::Repeat", 56 "ctrl-w": "vim::Undo", 57 "ctrl-f": "vim::Redo", 58 "r": "vim::PushChange", 59 // insert moves 60 "s n": "vim::InsertBefore", 61 "s i": "vim::InsertAfter", 62 "s u": "vim::InsertLineAbove", 63 "s e": "vim::InsertLineBelow", 64 "s o": "vim::InsertEndOfLine", 65 "s m": "vim::InsertFirstNonWhitespace", 66 // navigation 67 "t m": "tab_switcher::Toggle", 68 "t n": ["workspace::SendKeystrokes", "cmd-p"], 69 "t t": "editor::GoToDefinition", 70 "t e": "outline::Toggle", 71 "t u": "project_symbols::Toggle", 72 "t r": "editor::FindAllReferences", 73 "= =": "editor::Format", 74 // lsp 75 "a .": "editor::Hover", 76 "a o": "editor::Rename", 77 "a ;": "editor::ToggleCodeActions", 78 "t d d": "editor::GoToDiagnostic", 79 "t d e": "diagnostics::DeployCurrentFile", 80 "t d u": "diagnostics::Deploy", 81 // visual 82 "v": "vim::ToggleVisual", 83 // window 84 "w w": "pane::SplitLeft", 85 "w ,": "pane::CloseActiveItem", 86 "w i": "workspace::ActivatePaneRight", 87 "w n": "workspace::ActivatePaneLeft", 88 "w e": "workspace::ActivatePaneDown", 89 "w u": "workspace::ActivatePaneUp", 90 // copy and paste 91 // TODO missing paste with direction 92 "c": "vim::PushYank", 93 "p": "vim::Paste", 94 } 95 } 96]