├── .gitignore ├── README.md ├── keybindings.json ├── settings.json └── whichkey.json /.gitignore: -------------------------------------------------------------------------------- 1 | web/* 2 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # VSCodeVim Settings 2 | 3 | VSCodeVim is a Vim emulator for Visual Studio Code + Commands 4 | 5 | ## Table of Content 6 | 7 | - [Vim Shortcuts](#-vim-shortcuts) 8 | - [VSCode Shortcuts](#-vscode-shortcuts) 9 | - [View Commands](#-view-commands) 10 | - [Emmet Commands](#-emmet-commands) 11 | - [Git Commands](#-git-commands) 12 | - [Debug Commands](#-debug-commands) 13 | 14 |
15 | 16 | ## Vim Shortcuts 17 | 18 | ### Normal Mode 19 | 20 | | Status | Command | Description | 21 | | ------------------ | ------------ | ----------------------------- | 22 | | :white_check_mark: | `` l | Last Character In The Line | 23 | | :white_check_mark: | `` h | First Character In The Line | 24 | | :white_check_mark: | K | Move 5 Line Up | 25 | | :white_check_mark: | J | Move 5 Line Down | 26 | | :white_check_mark: | CTRL n | Turn Off Search Highlighting | 27 | | :white_check_mark: | CTRL j | View Focus Above Editor Group | 28 | | :white_check_mark: | CTRL k | View Focus Below Editor Group | 29 | | :white_check_mark: | CTRL h | View Focus Left Editor Group | 30 | | :white_check_mark: | CTRL l | View Focus Right Editor Group | 31 | 32 |
33 |
34 | Settings Example (click to expand) 35 | 36 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 37 | 38 | ```json 39 | { 40 | "vim.normalModeKeyBindingsNonRecursive": [ 41 | { 42 | "before": ["J"], 43 | "after": ["5", "j"] 44 | }, 45 | { 46 | "before": ["K"], 47 | "after": ["5", "k"] 48 | }, 49 | { 50 | "before": ["", "l"], 51 | "after": ["$"] 52 | }, 53 | { 54 | "before": ["", "h"], 55 | "after": ["^"] 56 | }, 57 | { 58 | "before": [""], 59 | "commands": [":nohl"] 60 | }, 61 | { 62 | "before": [""], 63 | "after": ["", "h"] 64 | }, 65 | { 66 | "before": [""], 67 | "after": ["", "j"] 68 | }, 69 | { 70 | "before": [""], 71 | "after": ["", "k"] 72 | }, 73 | { 74 | "before": [""], 75 | "after": ["", "l"] 76 | } 77 | ] 78 | } 79 | ``` 80 | 81 |
82 |
83 |
84 | 85 | ### Visual Mode 86 | 87 | | Status | Command | Description | 88 | | ------------------ | ------------ | --------------------------- | 89 | | :white_check_mark: | `` l | Last Character In The Line | 90 | | :white_check_mark: | `` h | First Character In The Line | 91 | | :white_check_mark: | J | Move 5 Line Down | 92 | | :white_check_mark: | K | Move 5 Line Up | 93 | 94 |
95 |
96 | Settings Example (click to expand) 97 | 98 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 99 | 100 | ```json 101 | { 102 | "vim.visualModeKeyBindingsNonRecursive": [ 103 | { 104 | "before": ["", "l"], 105 | "after": ["$"] 106 | }, 107 | { 108 | "before": ["", "h"], 109 | "after": ["^"] 110 | }, 111 | { 112 | "before": ["J"], 113 | "after": ["5", "j"] 114 | }, 115 | { 116 | "before": ["K"], 117 | "after": ["5", "k"] 118 | } 119 | ] 120 | } 121 | ``` 122 | 123 |
124 |
125 |
126 | 127 | ### Insert Mode 128 | 129 | | Status | Command | Description | 130 | | ------------------ | ------- | ---------------- | 131 | | :white_check_mark: | jk | Exit Insert Mode | 132 | 133 |
134 |
135 | Settings Example (click to expand) 136 | 137 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 138 | 139 | ```json 140 | { 141 | "vim.insertModeKeyBindingsNonRecursive": [ 142 | { 143 | "before": ["j", "k"], 144 | "after": [""] 145 | } 146 | ] 147 | } 148 | ``` 149 | 150 |
151 |
152 |
153 | 154 | ## VSCode Shortcuts 155 | 156 | Visual Studio Code is a code editor redefined and optimized for building and debugging modern web and cloud applications. 157 | 158 | ### Normal Mode 159 | 160 | | Status | Command | Description | 161 | | ------------------ | ------------- | -------------------------- | 162 | | :white_check_mark: | `` ee | Focus On Files Explorer | 163 | | :white_check_mark: | `` a | Source Action | 164 | | :white_check_mark: | `` ss | Toggle Side Bar Visibility | 165 | | :white_check_mark: | `` ds | Duplicate Selection | 166 | | :white_check_mark: | `` fd | Format Document | 167 | | :white_check_mark: | `` q | View Close Editor | 168 | | :white_check_mark: | `` w | File Save | 169 | | :white_check_mark: | `` rs | Rename Symbol | 170 | | :white_check_mark: | `` ts | Go To Symbol In Editor | 171 | | :white_check_mark: | `` u | Transform To Title Case | 172 | | :white_check_mark: | `` i | Toggle Editor Group Sizes | 173 | | :white_check_mark: | `` o | Go To File In Editor | 174 | | :white_check_mark: | `` p | Show All Commands | 175 | | :white_check_mark: | `` mn | Go To Next Problem | 176 | | :white_check_mark: | `` mN | Go To Previous Problem | 177 | | :white_check_mark: | `` tr | Tasks Rerun Last Task | 178 | | :white_check_mark: | `` tc | Tasks Configure Task | 179 | | :white_check_mark: | `` nh | Notifications Hide | 180 | | :white_check_mark: | `` nc | Notifications Clear All | 181 | | :white_check_mark: | `` nf | Notifications Focus All | 182 | | :white_check_mark: | `` ns | Notifications Show | 183 | | :white_check_mark: | `` gl | Go To Line / Column | 184 | | :white_check_mark: | `` fb | Focus Breadcrumbs | 185 | | :white_check_mark: | `` tw | View Toggle Word Wrap | 186 | 187 |
188 |
189 | Settings Example (click to expand) 190 | 191 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 192 | 193 | ```json 194 | { 195 | "vim.normalModeKeyBindingsNonRecursive": [ 196 | { 197 | "before": ["", "e", "f"], 198 | "commands": ["workbench.explorer.fileView.focus"] 199 | }, 200 | { 201 | "before": ["", "a"], 202 | "commands": ["editor.action.quickFix"] 203 | }, 204 | { 205 | "before": ["", "s", "b"], 206 | "commands": ["workbench.action.toggleSidebarVisibility"] 207 | }, 208 | { 209 | "before": ["", "d", "s"], 210 | "commands": ["editor.action.duplicateSelection"] 211 | }, 212 | { 213 | "before": ["", "f", "d"], 214 | "commands": ["editor.action.formatDocument"] 215 | }, 216 | { 217 | "before": ["", "q"], 218 | "commands": ["workbench.action.closeActiveEditor"] 219 | }, 220 | { 221 | "before": ["", "w"], 222 | "commands": ["workbench.action.files.save"] 223 | }, 224 | { 225 | "before": ["", "r", "s"], 226 | "commands": ["editor.action.rename"] 227 | }, 228 | { 229 | "before": ["", "t", "s"], 230 | "commands": ["workbench.action.gotoSymbol"] 231 | }, 232 | { 233 | "before": ["", "u"], 234 | "commands": ["editor.action.transformToTitlecase"] 235 | }, 236 | { 237 | "before": ["", "i"], 238 | "commands": ["workbench.action.toggleEditorWidths"] 239 | }, 240 | { 241 | "before": ["", "o"], 242 | "commands": ["workbench.action.quickOpen"] 243 | }, 244 | { 245 | "before": ["", "p"], 246 | "commands": ["workbench.action.showCommands"] 247 | }, 248 | { 249 | "before": ["", "m", "n"], 250 | "commands": ["editor.action.marker.next"] 251 | }, 252 | { 253 | "before": ["", "m", "N"], 254 | "commands": ["editor.action.marker.prev"] 255 | }, 256 | { 257 | "before": ["", "t", "r"], 258 | "commands": ["workbench.action.tasks.reRunTask"] 259 | }, 260 | { 261 | "before": ["", "t", "c"], 262 | "commands": ["workbench.action.tasks.configureTaskRunner"] 263 | }, 264 | { 265 | "before": ["", "n", "h"], 266 | "commands": ["notifications.hideList"] 267 | }, 268 | { 269 | "before": ["", "n", "c"], 270 | "commands": ["notifications.clearAll"] 271 | }, 272 | { 273 | "before": ["", "n", "f"], 274 | "commands": ["notifications.focusToasts"] 275 | }, 276 | { 277 | "before": ["", "n", "s"], 278 | "commands": ["notifications.showList"] 279 | }, 280 | { 281 | "before": ["", "g", "l"], 282 | "commands": ["workbench.action.gotoLine"] 283 | }, 284 | { 285 | "before": ["", "f", "b"], 286 | "commands": ["breadcrumbs.focusAndSelect"] 287 | }, 288 | { 289 | "before": ["", "t", "w"], 290 | "commands": ["editor.action.toggleWordWrap"] 291 | } 292 | ] 293 | } 294 | ``` 295 | 296 |
297 |
298 |
299 | 300 | ### Visual Mode 301 | 302 | | Status | Command | Description | 303 | | ------------------ | ------------ | -------------------------- | 304 | | :white_check_mark: | `` a | Source Action | 305 | | :white_check_mark: | `` s | Toggle Side Bar Visibility | 306 | | :white_check_mark: | `` d | Duplicate Selection | 307 | | :white_check_mark: | `` f | Format Selection | 308 | | :white_check_mark: | `` u | Transform To Title Case | 309 | | :white_check_mark: | `` i | Toggle Editor Group Sizes | 310 | | :white_check_mark: | `` o | Go To File In Editor | 311 | | :white_check_mark: | `` p | Show All Commands | 312 | | :white_check_mark: | CTRL j | Move Line Up | 313 | | :white_check_mark: | CTRL k | Move Line Down | 314 | 315 |
316 |
317 | Settings Example (click to expand) 318 | 319 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 320 | 321 | ```json 322 | { 323 | "vim.visualModeKeyBindingsNonRecursive": [ 324 | { 325 | "before": ["", "a"], 326 | "commands": ["editor.action.quickFix"] 327 | }, 328 | { 329 | "before": ["", "s"], 330 | "commands": ["workbench.action.toggleSidebarVisibility"] 331 | }, 332 | { 333 | "before": ["", "d"], 334 | "commands": ["editor.action.duplicateSelection"] 335 | }, 336 | { 337 | "before": ["", "f"], 338 | "commands": ["editor.action.formatSelection"] 339 | }, 340 | { 341 | "before": ["", "u"], 342 | "commands": ["editor.action.transformToTitlecase"] 343 | }, 344 | { 345 | "before": ["", "i"], 346 | "commands": ["workbench.action.toggleEditorWidths"] 347 | }, 348 | { 349 | "before": ["", "o"], 350 | "commands": ["workbench.action.quickOpen"] 351 | }, 352 | { 353 | "before": ["", "p"], 354 | "commands": ["workbench.action.showCommands"] 355 | }, 356 | { 357 | "before": [""], 358 | "commands": ["editor.action.moveLinesDownAction"] 359 | }, 360 | { 361 | "before": [""], 362 | "commands": ["editor.action.moveLinesUpAction"] 363 | } 364 | ] 365 | } 366 | ``` 367 | 368 |
369 |
370 |
371 | 372 | ## View Commands 373 | 374 | ### Normal Mode 375 | 376 | | Status | Command | Description | 377 | | ------------------ | -------------- | ------------------------------------ | 378 | | :white_check_mark: | `` vii | Increase Current View Size | 379 | | :white_check_mark: | `` vdd | Decrease Current View Size | 380 | | :white_check_mark: | `` vih | Increase Editor Height | 381 | | :white_check_mark: | `` vdh | Decrease Editor Height | 382 | | :white_check_mark: | `` viw | Increase Editor Width | 383 | | :white_check_mark: | `` vdw | Decrease Editor Width | 384 | | :white_check_mark: | `` tt | File New Untitled File | 385 | | :white_check_mark: | `` tn | View Open Next Editor | 386 | | :white_check_mark: | `` tN | View Open Previous Editor | 387 | | :white_check_mark: | `` vgh | View Move Editor Group Left | 388 | | :white_check_mark: | `` vgj | View Move Editor Group Down | 389 | | :white_check_mark: | `` vgk | View Move Editor Group Up | 390 | | :white_check_mark: | `` vgl | View Move Editor Group Right | 391 | | :white_check_mark: | `` vif | View Move Editor Into First Group | 392 | | :white_check_mark: | `` vil | View Move Editor Into Last Group | 393 | | :white_check_mark: | `` vin | View Move Editor Into Next Group | 394 | | :white_check_mark: | `` vip | View Move Editor Into Previous Group | 395 | | :white_check_mark: | `` veh | View Move Editor Left | 396 | | :white_check_mark: | `` vel | View Move Editor Right | 397 | | :white_check_mark: | `` ceg | View Close Editor Group | 398 | | :white_check_mark: | `` coe | View Close Other Editors In Group | 399 | | :white_check_mark: | `` ceo | View Close Editors In Other Groups | 400 | | :white_check_mark: | `` sh | View Split Editor Left | 401 | | :white_check_mark: | `` sj | View Split Editor Down | 402 | | :white_check_mark: | `` sk | View Split Editor Up | 403 | | :white_check_mark: | `` sl | View Split Editor Right | 404 | 405 |
406 |
407 | Settings Example (click to expand) 408 | 409 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 410 | 411 | ```json 412 | { 413 | "vim.normalModeKeyBindingsNonRecursive": [ 414 | { 415 | "before": ["", "v", "i", "i"], 416 | "commands": ["workbench.action.increaseViewSize"] 417 | }, 418 | { 419 | "before": ["", "v", "d", "d"], 420 | "commands": ["workbench.action.decreaseViewSize"] 421 | }, 422 | { 423 | "before": ["", "v", "i", "h"], 424 | "commands": ["workbench.action.increaseViewHeight"] 425 | }, 426 | { 427 | "before": ["", "v", "d", "h"], 428 | "commands": ["workbench.action.decreaseViewHeight"] 429 | }, 430 | { 431 | "before": ["", "v", "i", "w"], 432 | "commands": ["workbench.action.increaseViewWidth"] 433 | }, 434 | { 435 | "before": ["", "v", "d", "w"], 436 | "commands": ["workbench.action.decreaseViewWidth"] 437 | }, 438 | { 439 | "before": ["", "t", "t"], 440 | "commands": ["workbench.action.files.newUntitledFile"] 441 | }, 442 | { 443 | "before": ["", "t", "n"], 444 | "commands": ["workbench.action.nextEditor"] 445 | }, 446 | { 447 | "before": ["", "t", "N"], 448 | "commands": ["workbench.action.previousEditor"] 449 | }, 450 | { 451 | "before": ["", "v", "g", "j"], 452 | "commands": ["workbench.action.moveActiveEditorGroupDown"] 453 | }, 454 | { 455 | "before": ["", "v", "g", "h"], 456 | "commands": ["workbench.action.moveActiveEditorGroupLeft"] 457 | }, 458 | { 459 | "before": ["", "v", "g", "l"], 460 | "commands": ["workbench.action.moveActiveEditorGroupRight"] 461 | }, 462 | { 463 | "before": ["", "v", "g", "k"], 464 | "commands": ["workbench.action.moveActiveEditorGroupUp"] 465 | }, 466 | { 467 | "before": ["", "v", "i", "f"], 468 | "commands": ["workbench.action.moveEditorToFirstGroup"] 469 | }, 470 | { 471 | "before": ["", "v", "i", "l"], 472 | "commands": ["workbench.action.moveEditorToLastGroup"] 473 | }, 474 | { 475 | "before": ["", "v", "i", "n"], 476 | "commands": ["workbench.action.moveEditorToNextGroup"] 477 | }, 478 | { 479 | "before": ["", "v", "i", "p"], 480 | "commands": ["workbench.action.moveEditorToPreviousGroup"] 481 | }, 482 | { 483 | "before": ["", "v", "e", "h"], 484 | "commands": ["workbench.action.moveEditorLeftInGroup"] 485 | }, 486 | { 487 | "before": ["", "v", "e", "l"], 488 | "commands": ["workbench.action.moveEditorRightInGroup"] 489 | }, 490 | { 491 | "before": ["", "c", "e", "g"], 492 | "commands": ["workbench.action.closeEditorsAndGroup"] 493 | }, 494 | { 495 | "before": ["", "c", "o", "e"], 496 | "commands": ["workbench.action.closeOtherEditors"] 497 | }, 498 | { 499 | "before": ["", "c", "e", "o"], 500 | "commands": ["workbench.action.closeEditorsInOtherGroups"] 501 | }, 502 | { 503 | "before": ["", "s", "h"], 504 | "commands": ["workbench.action.splitEditorLeft"] 505 | }, 506 | { 507 | "before": ["", "s", "j"], 508 | "commands": ["workbench.action.splitEditorDown"] 509 | }, 510 | { 511 | "before": ["", "s", "k"], 512 | "commands": ["workbench.action.splitEditorUp"] 513 | }, 514 | { 515 | "before": ["", "s", "l"], 516 | "commands": ["workbench.action.splitEditorRight"] 517 | } 518 | ] 519 | } 520 | ``` 521 | 522 |
523 |
524 |
525 | 526 | ## Emmet Commands 527 | 528 | Emmet allows you to write large HTML code blocks at speed of light using well-known CSS selectors. But it’s not the only thing that every web-developer needs: occasionally you have to edit your HTML and CSS code to fix bugs and add new features. 529 | 530 | ### Normal Mode 531 | 532 | | Status | Command | Description | 533 | | ------------------ | -------------- | ------------------------------- | 534 | | :white_check_mark: | `` ei0 | Emmet Increment by 0.1 | 535 | | :white_check_mark: | `` ed0 | Emmet Decrement by 0.1 | 536 | | :white_check_mark: | `` eiu | Emmet Increment by 1 | 537 | | :white_check_mark: | `` edu | Emmet Decrement by 1 | 538 | | :white_check_mark: | `` eid | Emmet Increment by 10 | 539 | | :white_check_mark: | `` edd | Emmet Decrement by 10 | 540 | | :white_check_mark: | `` et | Emmet Go To Matching Pair | 541 | | :white_check_mark: | `` en | Emmet Go To Next Edit Point | 542 | | :white_check_mark: | `` eN | Emmet Go To Previous Edit Point | 543 | | :white_check_mark: | `` ex | Emmet Evaluate Math Expression | 544 | | :white_check_mark: | `` eml | Emmet Merge Lines | 545 | | :white_check_mark: | `` eut | Emmet Update Tag | 546 | | :white_check_mark: | `` ert | Emmet Remove Tag | 547 | | :white_check_mark: | `` esj | Emmet Split / Join Tag | 548 | | :white_check_mark: | `` eui | Emmet Update Image Size | 549 | | :white_check_mark: | `` ec | Emmet Toggle Comment | 550 | | :white_check_mark: | `` erc | Emmet Reflect CSS Value | 551 | | :white_check_mark: | `` ew | Emmet Wrap with Abbreviation | 552 | 553 |
554 |
555 | Settings Example (click to expand) 556 | 557 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 558 | 559 | ```json 560 | { 561 | "vim.normalModeKeyBindingsNonRecursive": [ 562 | { 563 | "before": ["", "e", "b", "i"], 564 | "commands": ["editor.emmet.action.balanceIn"] 565 | }, 566 | { 567 | "before": ["", "e", "b", "o"], 568 | "commands": ["editor.emmet.action.balanceOut"] 569 | }, 570 | { 571 | "before": ["", "e", "i", "0"], 572 | "commands": ["editor.emmet.action.incrementNumberByOneTenth"] 573 | }, 574 | { 575 | "before": ["", "e", "d", "0"], 576 | "commands": ["editor.emmet.action.decrementNumberByOneTenth"] 577 | }, 578 | { 579 | "before": ["", "e", "i", "u"], 580 | "commands": ["editor.emmet.action.incrementNumberByOne"] 581 | }, 582 | { 583 | "before": ["", "e", "d", "u"], 584 | "commands": ["editor.emmet.action.decrementNumberByOne"] 585 | }, 586 | { 587 | "before": ["", "e", "i", "d"], 588 | "commands": ["editor.emmet.action.incrementNumberByTen"] 589 | }, 590 | { 591 | "before": ["", "e", "d", "d"], 592 | "commands": ["editor.emmet.action.decrementNumberByTen"] 593 | }, 594 | { 595 | "before": ["", "e", "t"], 596 | "commands": ["editor.emmet.action.matchTag"] 597 | }, 598 | { 599 | "before": ["", "e", "n"], 600 | "commands": ["editor.emmet.action.nextEditPoint"] 601 | }, 602 | { 603 | "before": ["", "e", "N"], 604 | "commands": ["editor.emmet.action.prevEditPoint"] 605 | }, 606 | { 607 | "before": ["", "e", "x"], 608 | "commands": ["editor.emmet.action.evaluateMathExpression"] 609 | }, 610 | { 611 | "before": ["", "e", "m", "l"], 612 | "commands": ["editor.emmet.action.mergeLines"] 613 | }, 614 | { 615 | "before": ["", "e", "u", "t"], 616 | "commands": ["editor.emmet.action.updateTag"] 617 | }, 618 | { 619 | "before": ["", "e", "r", "t"], 620 | "commands": ["editor.emmet.action.removeTag"] 621 | }, 622 | { 623 | "before": ["", "e", "s", "j"], 624 | "commands": ["editor.emmet.action.splitJoinTag"] 625 | }, 626 | { 627 | "before": ["", "e", "u", "i"], 628 | "commands": ["editor.emmet.action.updateImageSize"] 629 | }, 630 | { 631 | "before": ["", "e", "c"], 632 | "commands": ["editor.emmet.action.toggleComment"] 633 | }, 634 | { 635 | "before": ["", "e", "r", "c"], 636 | "commands": ["editor.emmet.action.reflectCSSValue"] 637 | }, 638 | { 639 | "before": ["", "e", "w"], 640 | "commands": ["editor.emmet.action.wrapWithAbbreviation"] 641 | } 642 | ] 643 | } 644 | ``` 645 | 646 |
647 |
648 |
649 | 650 | ### Visual Mode 651 | 652 | | Status | Command | Description | 653 | | ------------------ | -------------- | --------------------------------------------- | 654 | | :white_check_mark: | `` ebi | Emmet Balance (inward) | 655 | | :white_check_mark: | `` ebo | Emmet Balance (outward) | 656 | | :white_check_mark: | `` et | Emmet Go To Matching Pair | 657 | | :white_check_mark: | `` ec | Emmet Toggle Comment | 658 | | :white_check_mark: | `` en | Emmet Select Next Item | 659 | | :white_check_mark: | `` eN | Emmet Select Previous Item | 660 | | :white_check_mark: | `` ex | Emmet Evaluate Math Expression | 661 | | :white_check_mark: | `` ew | Emmet Wrap Individual Lines with Abbreviation | 662 | 663 |
664 |
665 | Settings Example (click to expand) 666 | 667 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 668 | 669 | ```json 670 | { 671 | "vim.visualModeKeyBindingsNonRecursive": [ 672 | { 673 | "before": ["", "e", "b", "i"], 674 | "commands": ["editor.emmet.action.balanceIn"] 675 | }, 676 | { 677 | "before": ["", "e", "b", "o"], 678 | "commands": ["editor.emmet.action.balanceOut"] 679 | }, 680 | { 681 | "before": ["", "e", "t"], 682 | "commands": ["editor.emmet.action.matchTag"] 683 | }, 684 | { 685 | "before": ["", "e", "c"], 686 | "commands": ["editor.emmet.action.toggleComment"] 687 | }, 688 | { 689 | "before": ["", "e", "n"], 690 | "commands": ["editor.emmet.action.selectNextItem"] 691 | }, 692 | { 693 | "before": ["", "e", "N"], 694 | "commands": ["editor.emmet.action.selectPrevItem"] 695 | }, 696 | { 697 | "before": ["", "e", "x"], 698 | "commands": ["editor.emmet.action.evaluateMathExpression"] 699 | }, 700 | { 701 | "before": ["", "e", "w"], 702 | "commands": [ 703 | "editor.emmet.action.wrapIndividualLinesWithAbbreviation" 704 | ] 705 | } 706 | ] 707 | } 708 | ``` 709 | 710 |
711 |
712 |
713 | 714 | ## Git Commands 715 | 716 | Git is a distributed version-control system for tracking changes in any set of files, originally designed for coordinating work among programmers cooperating on source code during software development. Its goals include speed, data integrity, and support for distributed, non-linear workflows. 717 | 718 | ### Normal Mode 719 | 720 | | Status | Command | Description | 721 | | ------------------ | ---------------- | --------------------------------------- | 722 | | :white_check_mark: | `` gg | Focus On Source Control View | 723 | | :white_check_mark: | `` gtl | Focus On Timeline View | 724 | | :white_check_mark: | `` gir | Git Initialize Repository | 725 | | :white_check_mark: | `` gai | Git Add To .gitignore | 726 | | :white_check_mark: | `` gpg | Publish To Github | 727 | | :white_check_mark: | `` gar | Git Add Remote | 728 | | :white_check_mark: | `` grr | Git Remove Remote | 729 | | :white_check_mark: | `` gsc | Git Stage Change | 730 | | :white_check_mark: | `` gsac | Git Stage All Changes | 731 | | :white_check_mark: | `` gsam | Git Stage All Merge Changes | 732 | | :white_check_mark: | `` gsat | Git Stage All Tracked Changes | 733 | | :white_check_mark: | `` gsau | Git Stage All Untracked Changes | 734 | | :white_check_mark: | `` guc | Git Unstage Changes | 735 | | :white_check_mark: | `` guac | Git Unstage All Changes | 736 | | :white_check_mark: | `` gcm | Git Commit | 737 | | :white_check_mark: | `` gca | Git Commit All | 738 | | :white_check_mark: | `` gcs | Git Commit Staged | 739 | | :white_check_mark: | `` gce | Git Commit Empty | 740 | | :white_check_mark: | `` gulc | Git Undo Last Commit | 741 | | :white_check_mark: | `` gph | Git Push | 742 | | :white_check_mark: | `` gpf | Git Push (Force) | 743 | | :white_check_mark: | `` gpbt | Git Push To... | 744 | | :white_check_mark: | `` gpbtf | Git Push To... (Force) | 745 | | :white_check_mark: | `` gpl | Git Pull | 746 | | :white_check_mark: | `` gPf | Git Pull From... | 747 | | :white_check_mark: | `` gPr | Git Pull (Rebase) | 748 | | :white_check_mark: | `` gAr | Git Abort Rebase | 749 | | :white_check_mark: | `` gcb | Git Create Branch | 750 | | :white_check_mark: | `` gcbf | Git Create Branch From | 751 | | :white_check_mark: | `` gdb | Git Delete Branch | 752 | | :white_check_mark: | `` gmb | Git Merge Branch | 753 | | :white_check_mark: | `` gpb | Git Publish Branch | 754 | | :white_check_mark: | `` grb | Git Rename Branch | 755 | | :white_check_mark: | `` gRb | Git Rebase Branch | 756 | | :white_check_mark: | `` gC | Git Checkout To | 757 | | :white_check_mark: | `` gCd | Git Checkout To (Detached) | 758 | | :white_check_mark: | `` gcp | Git Cherry Pick | 759 | | :white_check_mark: | `` gdc | Git Discard Changes | 760 | | :white_check_mark: | `` gdac | Git Discard All Changes | 761 | | :white_check_mark: | `` gdat | Git Discard All Tracked Changes | 762 | | :white_check_mark: | `` gdau | Git Discard All Untracked Changes | 763 | | :white_check_mark: | `` gss | Git Stash | 764 | | :white_check_mark: | `` gsiu | Git Stash (Include Untracked) | 765 | | :white_check_mark: | `` gas | Git Apply Stash | 766 | | :white_check_mark: | `` gals | Git Apply Latest Stash | 767 | | :white_check_mark: | `` gds | Git Drop Stash | 768 | | :white_check_mark: | `` gps | Git Pop Stash | 769 | | :white_check_mark: | `` gpls | Git Pop Latest Stash | 770 | | :white_check_mark: | `` gct | Git Create Tag | 771 | | :white_check_mark: | `` gdt | Git Delete Tag | 772 | | :white_check_mark: | `` gpt | Git Push Tags | 773 | | :white_check_mark: | `` gff | Git Fetch | 774 | | :white_check_mark: | `` gfp | Git Fetch (Prune) | 775 | | :white_check_mark: | `` gffar | Git Fetch From All Remotes | 776 | | :white_check_mark: | `` goc | Git Open Changes | 777 | | :white_check_mark: | `` gof | Git Open File | 778 | | :white_check_mark: | `` gsn | Git Show Next Change | 779 | | :white_check_mark: | `` gsN | Git Show Previous Change | 780 | | :white_check_mark: | `` gmn | Git Move To Next Change | 781 | | :white_check_mark: | `` gmN | Git Move To Previous Change | 782 | | :white_check_mark: | `` gcn | Git Compare Editor Next Change | 783 | | :white_check_mark: | `` gcN | Git Compare Editor Previous Change | 784 | | :white_check_mark: | `` giv | Git Toggle Inline View | 785 | | :white_check_mark: | `` mcb | Merge Conflict Accept Both | 786 | | :white_check_mark: | `` mcc | Merge Conflict Accept Current | 787 | | :white_check_mark: | `` mci | Merge Conflict Accept Incoming | 788 | | :white_check_mark: | `` mcab | Merge Conflict Accept All Both | 789 | | :white_check_mark: | `` mcac | Merge Conflict Accept All Current | 790 | | :white_check_mark: | `` mcai | Merge Conflict Accept All Incoming | 791 | | :white_check_mark: | `` mco | Merge Conflict Compare Current Conflict | 792 | | :white_check_mark: | `` mcn | Merge Conflict Next Conflict | 793 | | :white_check_mark: | `` mcN | Merge Conflict Previous Conflict | 794 | 795 |
796 |
797 | Settings Example (click to expand) 798 | 799 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 800 | 801 | ```json 802 | { 803 | "vim.normalModeKeyBindingsNonRecursive": [ 804 | { 805 | "before": ["leader", "g", "g"], 806 | "commands": ["workbench.scm.focus"] 807 | }, 808 | { 809 | "before": ["leader", "g", "t", "l"], 810 | "commands": ["timeline.focus"] 811 | }, 812 | { 813 | "before": ["leader", "g", "i", "r"], 814 | "commands": ["git.init"] 815 | }, 816 | { 817 | "before": ["leader", "g", "a", "i"], 818 | "commands": ["git.ignore"] 819 | }, 820 | { 821 | "before": ["leader", "g", "p", "g"], 822 | "commands": ["github.publish"] 823 | }, 824 | { 825 | "before": ["leader", "g", "a", "r"], 826 | "commands": ["git.addRemote"] 827 | }, 828 | { 829 | "before": ["leader", "g", "r", "r"], 830 | "commands": ["git.removeRemote"] 831 | }, 832 | { 833 | "before": ["leader", "g", "s", "c"], 834 | "commands": ["git.stage"] 835 | }, 836 | { 837 | "before": ["leader", "g", "s", "a", "c"], 838 | "commands": ["git.stageAll"] 839 | }, 840 | { 841 | "before": ["leader", "g", "s", "a", "m"], 842 | "commands": ["git.stageAllMerge"] 843 | }, 844 | { 845 | "before": ["leader", "g", "s", "a", "t"], 846 | "commands": ["git.stageAllTracked"] 847 | }, 848 | { 849 | "before": ["leader", "g", "s", "a", "u"], 850 | "commands": ["git.stageAllUntracked"] 851 | }, 852 | { 853 | "before": ["leader", "g", "u", "c"], 854 | "commands": ["git.unstage"] 855 | }, 856 | { 857 | "before": ["leader", "g", "u", "a", "c"], 858 | "commands": ["git.unstageAll"] 859 | }, 860 | { 861 | "before": ["leader", "g", "c", "c"], 862 | "commands": ["git.commit"] 863 | }, 864 | { 865 | "before": ["leader", "g", "c", "a"], 866 | "commands": ["git.commitAll"] 867 | }, 868 | { 869 | "before": ["leader", "g", "c", "s"], 870 | "commands": ["git.commitStaged"] 871 | }, 872 | { 873 | "before": ["leader", "g", "c", "e"], 874 | "commands": ["git.commitEmpty"] 875 | }, 876 | { 877 | "before": ["leader", "g", "u", "l", "c"], 878 | "commands": ["git.undoCommit"] 879 | }, 880 | { 881 | "before": ["leader", "g", "p", "h"], 882 | "commands": ["git.push"] 883 | }, 884 | { 885 | "before": ["leader", "g", "p", "f"], 886 | "commands": ["git.pushForce"] 887 | }, 888 | { 889 | "before": ["leader", "g", "p", "b", "t"], 890 | "commands": ["git.pushTo"] 891 | }, 892 | { 893 | "before": ["leader", "g", "p", "b", "t", "f"], 894 | "commands": ["git.pushToForce"] 895 | }, 896 | { 897 | "before": ["leader", "g", "p", "l"], 898 | "commands": ["git.pull"] 899 | }, 900 | { 901 | "before": ["leader", "g", "P", "f"], 902 | "commands": ["git.pullFrom"] 903 | }, 904 | { 905 | "before": ["leader", "g", "P", "r"], 906 | "commands": ["git.pullRebase"] 907 | }, 908 | { 909 | "before": ["leader", "g", "A", "r"], 910 | "commands": ["git.rebaseAbort"] 911 | }, 912 | { 913 | "before": ["leader", "g", "c", "b"], 914 | "commands": ["git.branch"] 915 | }, 916 | { 917 | "before": ["leader", "g", "c", "b", "f"], 918 | "commands": ["git.branchFrom"] 919 | }, 920 | { 921 | "before": ["leader", "g", "d", "b"], 922 | "commands": ["git.deleteBranch"] 923 | }, 924 | { 925 | "before": ["leader", "g", "m", "b"], 926 | "commands": ["git.merge"] 927 | }, 928 | { 929 | "before": ["leader", "g", "p", "b"], 930 | "commands": ["git.publish"] 931 | }, 932 | { 933 | "before": ["leader", "g", "r", "b"], 934 | "commands": ["git.renameBranch"] 935 | }, 936 | { 937 | "before": ["leader", "g", "R", "b"], 938 | "commands": ["git.rebase"] 939 | }, 940 | { 941 | "before": ["leader", "g", "C"], 942 | "commands": ["git.checkout"] 943 | }, 944 | { 945 | "before": ["leader", "g", "C", "d"], 946 | "commands": ["git.checkoutDetached"] 947 | }, 948 | { 949 | "before": ["leader", "g", "c", "p"], 950 | "commands": ["git.cherryPick"] 951 | }, 952 | { 953 | "before": ["leader", "g", "d", "c"], 954 | "commands": ["git.clean"] 955 | }, 956 | { 957 | "before": ["leader", "g", "d", "a", "c"], 958 | "commands": ["git.cleanAll"] 959 | }, 960 | { 961 | "before": ["leader", "g", "d", "a", "t"], 962 | "commands": ["git.cleanAllTracked"] 963 | }, 964 | { 965 | "before": ["leader", "g", "d", "a", "u"], 966 | "commands": ["git.cleanAllUntracked"] 967 | }, 968 | { 969 | "before": ["leader", "g", "s", "s"], 970 | "commands": ["git.stash"] 971 | }, 972 | { 973 | "before": ["leader", "g", "s", "i", "u"], 974 | "commands": ["git.stashIncludeUntracked"] 975 | }, 976 | { 977 | "before": ["leader", "g", "a", "s"], 978 | "commands": ["git.stashApply"] 979 | }, 980 | { 981 | "before": ["leader", "g", "a", "l", "s"], 982 | "commands": ["git.stashApplyLatest"] 983 | }, 984 | { 985 | "before": ["leader", "g", "d", "s"], 986 | "commands": ["git.stashDrop"] 987 | }, 988 | { 989 | "before": ["leader", "g", "p", "s"], 990 | "commands": ["git.stashPop"] 991 | }, 992 | { 993 | "before": ["leader", "g", "p", "l", "s"], 994 | "commands": ["git.stashPopLatest"] 995 | }, 996 | { 997 | "before": ["leader", "g", "c", "t"], 998 | "commands": ["git.createTag"] 999 | }, 1000 | { 1001 | "before": ["leader", "g", "d", "t"], 1002 | "commands": ["git.deleteTag"] 1003 | }, 1004 | { 1005 | "before": ["leader", "g", "p", "t"], 1006 | "commands": ["git.pushTags"] 1007 | }, 1008 | { 1009 | "before": ["leader", "g", "f", "f"], 1010 | "commands": ["git.fetch"] 1011 | }, 1012 | { 1013 | "before": ["leader", "g", "f", "p"], 1014 | "commands": ["git.fetchPrune"] 1015 | }, 1016 | { 1017 | "before": ["leader", "g", "f", "f", "a", "r"], 1018 | "commands": ["git.fetchAll"] 1019 | }, 1020 | { 1021 | "before": ["leader", "g", "o", "c"], 1022 | "commands": ["git.openChange"] 1023 | }, 1024 | { 1025 | "before": ["leader", "g", "o", "f"], 1026 | "commands": ["git.openFile"] 1027 | }, 1028 | { 1029 | "before": ["leader", "g", "s", "n"], 1030 | "commands": ["editor.action.dirtydiff.next"] 1031 | }, 1032 | { 1033 | "before": ["leader", "g", "s", "N"], 1034 | "commands": ["editor.action.dirtydiff.previous"] 1035 | }, 1036 | { 1037 | "before": ["leader", "g", "m", "n"], 1038 | "commands": ["workbench.action.editor.nextChange"] 1039 | }, 1040 | { 1041 | "before": ["leader", "g", "m", "N"], 1042 | "commands": ["workbench.action.editor.previousChange"] 1043 | }, 1044 | { 1045 | "before": ["leader", "g", "c", "n"], 1046 | "commands": ["workbench.action.compareEditor.nextChange"] 1047 | }, 1048 | { 1049 | "before": ["leader", "g", "c", "N"], 1050 | "commands": ["workbench.action.compareEditor.previousChange"] 1051 | }, 1052 | { 1053 | "before": ["leader", "g", "i", "v"], 1054 | "commands": ["toggle.diff.renderSideBySide"] 1055 | }, 1056 | { 1057 | "before": ["leader", "m", "c", "b"], 1058 | "commands": ["merge-conflict.accept.both"] 1059 | }, 1060 | { 1061 | "before": ["leader", "m", "c", "c"], 1062 | "commands": ["merge-conflict.accept.current"] 1063 | }, 1064 | { 1065 | "before": ["leader", "m", "c", "i"], 1066 | "commands": ["merge-conflict.accept.incoming"] 1067 | }, 1068 | { 1069 | "before": ["leader", "m", "c", "a", "b"], 1070 | "commands": ["merge-conflict.accept.all-both"] 1071 | }, 1072 | { 1073 | "before": ["leader", "m", "c", "a", "c"], 1074 | "commands": ["merge-conflict.accept.all-current"] 1075 | }, 1076 | { 1077 | "before": ["leader", "m", "c", "a", "i"], 1078 | "commands": ["merge-conflict.accept.all-incoming"] 1079 | }, 1080 | { 1081 | "before": ["leader", "m", "c", "o"], 1082 | "commands": ["merge-conflict.compare"] 1083 | }, 1084 | { 1085 | "before": ["leader", "m", "c", "n"], 1086 | "commands": ["merge-conflict.next"] 1087 | }, 1088 | { 1089 | "before": ["leader", "m", "c", "N"], 1090 | "commands": ["merge-conflict.previous"] 1091 | } 1092 | ] 1093 | } 1094 | ``` 1095 | 1096 |
1097 |
1098 |
1099 | 1100 | ### Visual Mode 1101 | 1102 | | Status | Command | Description | 1103 | | ------------------ | -------------- | ------------------------------- | 1104 | | :white_check_mark: | `` gs | Git Stage Selected Ranges | 1105 | | :white_check_mark: | `` gu | Git Unstage Selected Ranges | 1106 | | :white_check_mark: | `` gr | Git Revert Selected Ranges | 1107 | | :white_check_mark: | `` mca | Merge Conflict Accept Selection | 1108 | 1109 |
1110 |
1111 | Settings Example (click to expand) 1112 | 1113 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 1114 | 1115 | ```json 1116 | { 1117 | "vim.visualModeKeyBindingsNonRecursive": [ 1118 | { 1119 | "before": ["", "g", "s"], 1120 | "commands": ["git.stageSelectedRanges"] 1121 | }, 1122 | { 1123 | "before": ["", "g", "u"], 1124 | "commands": ["git.unstageSelectedRanges"] 1125 | }, 1126 | { 1127 | "before": ["", "g", "r"], 1128 | "commands": ["git.revertSelectedRanges"] 1129 | }, 1130 | { 1131 | "before": ["leader", "m", "c", "a"], 1132 | "commands": ["merge-conflict.accept.selection"] 1133 | } 1134 | ] 1135 | } 1136 | ``` 1137 | 1138 |
1139 |
1140 |
1141 | 1142 | ## Debug Commands 1143 | 1144 | Debugging is a core feature of Visual Studio Code. In this tutorial, we will show you how to configure and use debugging basics. We will walk you through how you get started with Node. js debugging in VS Code. 1145 | 1146 | ### Normal Mode 1147 | 1148 | | Status | Command | Description | 1149 | | ------------------ | -------------- | -------------------------------- | 1150 | | :white_check_mark: | `` df | View Show Run And Debug | 1151 | | :white_check_mark: | `` dc | Debug Continue | 1152 | | :white_check_mark: | `` dp | Debug Pause | 1153 | | :white_check_mark: | `` dr | Debug Restart | 1154 | | :white_check_mark: | `` dh | Debug Show Hover | 1155 | | :white_check_mark: | `` ds | Debug Start Debugging | 1156 | | :white_check_mark: | `` di | Debug Step Into | 1157 | | :white_check_mark: | `` du | Debug Step Out | 1158 | | :white_check_mark: | `` do | Debug Step Over | 1159 | | :white_check_mark: | `` dx | Debug Stop | 1160 | | :white_check_mark: | `` db | Debug Toggle Breakpoint | 1161 | | :white_check_mark: | `` dal | Debug Add Logpoint | 1162 | | :white_check_mark: | `` daf | Debug Add Function Breakpoint | 1163 | | :white_check_mark: | `` dac | Debug Add Conditional Breakpoint | 1164 | | :white_check_mark: | `` dai | Debug Inline Breakpoint | 1165 | | :white_check_mark: | `` deb | Debug Enable All Breakpoint | 1166 | | :white_check_mark: | `` ddb | Debug Disable All Breakpoint | 1167 | | :white_check_mark: | `` drb | Debug Remove All Breakpoint | 1168 | | :white_check_mark: | `` dn | Debug Go To Next Breakpoint | 1169 | | :white_check_mark: | `` dN | Debug Go To Previous Breakpoint | 1170 | 1171 |
1172 |
1173 | Settings Example (click to expand) 1174 | 1175 | Below is an example of a [settings.json](https://code.visualstudio.com/Docs/customization/userandworkspace) file with settings relevant to VSCodeVim: 1176 | 1177 | ```json 1178 | { 1179 | "vim.normalModeKeyBindingsNonRecursive": [ 1180 | { 1181 | "before": ["", "d", "f"], 1182 | "commands": ["workbench.view.debug"] 1183 | }, 1184 | { 1185 | "before": ["", "d", "c"], 1186 | "commands": ["workbench.action.debug.continue"] 1187 | }, 1188 | { 1189 | "before": ["", "d", "p"], 1190 | "commands": ["workbench.action.debug.pause"] 1191 | }, 1192 | { 1193 | "before": ["", "d", "r"], 1194 | "commands": ["workbench.action.debug.restart"] 1195 | }, 1196 | { 1197 | "before": ["", "d", "h"], 1198 | "commands": ["editor.debug.action.showDebugHover"] 1199 | }, 1200 | { 1201 | "before": ["", "d", "s"], 1202 | "commands": ["workbench.action.debug.start"] 1203 | }, 1204 | { 1205 | "before": ["", "d", "i"], 1206 | "commands": ["workbench.action.debug.stepInto"] 1207 | }, 1208 | { 1209 | "before": ["", "d", "u"], 1210 | "commands": ["workbench.action.debug.stepOut"] 1211 | }, 1212 | { 1213 | "before": ["", "d", "o"], 1214 | "commands": ["workbench.action.debug.stepOver"] 1215 | }, 1216 | { 1217 | "before": ["", "d", "b"], 1218 | "commands": ["editor.debug.action.toggleBreakpoint"] 1219 | }, 1220 | { 1221 | "before": ["", "d", "x"], 1222 | "commands": ["workbench.action.debug.stop"] 1223 | }, 1224 | { 1225 | "before": ["", "d", "a", "l"], 1226 | "commands": ["editor.debug.action.addLogPoint"] 1227 | }, 1228 | { 1229 | "before": ["", "d", "a", "f"], 1230 | "commands": [ 1231 | "workbench.debug.viewlet.action.addFunctionBreakpointAction" 1232 | ] 1233 | }, 1234 | { 1235 | "before": ["", "d", "a", "c"], 1236 | "commands": ["editor.debug.action.conditionalBreakpoint"] 1237 | }, 1238 | { 1239 | "before": ["", "d", "a", "i"], 1240 | "commands": ["editor.debug.action.toggleInlineBreakpoint"] 1241 | }, 1242 | { 1243 | "before": ["", "d", "e", "b"], 1244 | "commands": ["workbench.debug.viewlet.action.enableAllBreakpoints"] 1245 | }, 1246 | { 1247 | "before": ["", "d", "d", "b"], 1248 | "commands": ["workbench.debug.viewlet.action.disableAllBreakpoints"] 1249 | }, 1250 | { 1251 | "before": ["", "d", "r", "b"], 1252 | "commands": ["workbench.debug.viewlet.action.removeAllBreakpoints"] 1253 | }, 1254 | { 1255 | "before": ["", "d", "n"], 1256 | "commands": ["editor.debug.action.goToNextBreakpoint"] 1257 | }, 1258 | { 1259 | "before": ["", "d", "N"], 1260 | "commands": ["editor.debug.action.goToPreviousBreakpoint"] 1261 | } 1262 | ] 1263 | } 1264 | ``` 1265 | 1266 |
1267 |
1268 |
1269 | 1270 | ## VSCode Explorer 1271 | 1272 | ### Focus Sidebar File Explorer 1273 | 1274 | | Status | Command | Description | 1275 | | ------------------ | ------- | ---------------------------- | 1276 | | :white_check_mark: | e | File Focus On Files Explorer | 1277 | | :white_check_mark: | a | File New File | 1278 | | :white_check_mark: | A | File New Folder | 1279 | | :white_check_mark: | y | File Copy | 1280 | | :white_check_mark: | x | File Cut | 1281 | | :white_check_mark: | p | File Paste | 1282 | | :white_check_mark: | r | File Rename | 1283 | | :white_check_mark: | d | File Move To Trash | 1284 | | :white_check_mark: | D | File Delete Permanent | 1285 | | :white_check_mark: | c | File Collapse Folders | 1286 | | :white_check_mark: | s | Open To The Sidebar | 1287 | | :white_check_mark: | f | Reveal In The File Explorer | 1288 | | :white_check_mark: | t | Open In Integrated Terminal | 1289 | | :white_check_mark: | u | Copy Path | 1290 | | :white_check_mark: | i | Copy Relative Path | 1291 | 1292 |
1293 |
1294 | Keybinding Example (click to expand) 1295 | 1296 | Visual Studio Code lets you perform most tasks directly from the keyboard. This page lists out the default bindings (keyboard shortcuts) [keybindings.json](https://code.visualstudio.com/docs/getstarted/keybindings) and describes how you can update them. 1297 | 1298 | ```json 1299 | [ 1300 | // Explorer 1301 | { 1302 | "key": "e", 1303 | "command": "workbench.explorer.fileView.focus", 1304 | "when": "!editorFocus && !inputFocus" 1305 | }, 1306 | { 1307 | "key": "a", 1308 | "command": "explorer.newFile", 1309 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 1310 | }, 1311 | { 1312 | "key": "shift+a", 1313 | "command": "explorer.newFolder", 1314 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 1315 | }, 1316 | { 1317 | "key": "y", 1318 | "command": "filesExplorer.copy", 1319 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 1320 | }, 1321 | { 1322 | "key": "x", 1323 | "command": "filesExplorer.cut", 1324 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 1325 | }, 1326 | { 1327 | "key": "p", 1328 | "command": "filesExplorer.paste", 1329 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 1330 | }, 1331 | { 1332 | "key": "r", 1333 | "command": "renameFile", 1334 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" 1335 | }, 1336 | { 1337 | "key": "d", 1338 | "command": "moveFileToTrash", 1339 | "when": "explorerResourceMoveableToTrash && explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 1340 | }, 1341 | { 1342 | "key": "shift+d", 1343 | "command": "deleteFile", 1344 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 1345 | }, 1346 | { 1347 | "key": "c", 1348 | "command": "workbench.files.action.collapseExplorerFolders", 1349 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 1350 | }, 1351 | { 1352 | "key": "s", 1353 | "command": "explorer.openToSide", 1354 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 1355 | }, 1356 | { 1357 | "key": "f", 1358 | "command": "revealFileInOS", 1359 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 1360 | }, 1361 | { 1362 | "key": "t", 1363 | "command": "openInTerminal", 1364 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 1365 | }, 1366 | { 1367 | "key": "u", 1368 | "command": "copyFilePath", 1369 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 1370 | }, 1371 | { 1372 | "key": "i", 1373 | "command": "copyRelativeFilePath", 1374 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 1375 | } 1376 | ] 1377 | ``` 1378 | 1379 |
1380 |
1381 |
1382 | 1383 | ## VSCode Panel 1384 | 1385 | ### Focus Terminal 1386 | 1387 | | Status | Command | Description | 1388 | | ------------------ | ------- | -------------------------------- | 1389 | | :white_check_mark: | CTRL m | View Toggle Maximized Panel | 1390 | | :white_check_mark: | CTRL J | Terminal Scroll Down (Line) | 1391 | | :white_check_mark: | CTRL H | Terminal Scroll Down (Page) | 1392 | | :white_check_mark: | CTRL K | Terminal Scroll Down (Line) | 1393 | | :white_check_mark: | CTRL L | Terminal Scroll Down (Page) | 1394 | | :white_check_mark: | CTRL n | Terminal Focus Next Terminal | 1395 | | :white_check_mark: | CTRL N | Terminal Focus Previous Terminal | 1396 | 1397 |
1398 |
1399 | Keybinding Example (click to expand) 1400 | 1401 | Visual Studio Code lets you perform most tasks directly from the keyboard. This page lists out the default bindings (keyboard shortcuts) [keybindings.json](https://code.visualstudio.com/docs/getstarted/keybindings) and describes how you can update them. 1402 | 1403 | ```json 1404 | [ 1405 | // Terminal 1406 | { 1407 | "key": "ctrl+m", 1408 | "command": "workbench.action.toggleMaximizedPanel", 1409 | "when": "terminalFocus && terminalProcessSupported" 1410 | }, 1411 | { 1412 | "key": "ctrl+shift+j", 1413 | "command": "workbench.action.terminal.scrollDown", 1414 | "when": "terminalFocus && terminalProcessSupported" 1415 | }, 1416 | { 1417 | "key": "ctrl+shift+k", 1418 | "command": "workbench.action.terminal.scrollUp", 1419 | "when": "terminalFocus && terminalProcessSupported" 1420 | }, 1421 | { 1422 | "key": "ctrl+shift+h", 1423 | "command": "workbench.action.terminal.scrollDownPage", 1424 | "when": "terminalFocus && terminalProcessSupported" 1425 | }, 1426 | { 1427 | "key": "ctrl+shift+l", 1428 | "command": "workbench.action.terminal.scrollUpPage", 1429 | "when": "terminalFocus && terminalProcessSupported" 1430 | }, 1431 | { 1432 | "key": "ctrl+n", 1433 | "command": "workbench.action.terminal.focusNext", 1434 | "when": "terminalFocus && terminalProcessSupported" 1435 | }, 1436 | { 1437 | "key": "ctrl+shift+n", 1438 | "command": "workbench.action.terminal.focusPrevious", 1439 | "when": "terminalFocus && terminalProcessSupported" 1440 | } 1441 | ] 1442 | ``` 1443 | 1444 |
1445 |
1446 |
1447 | -------------------------------------------------------------------------------- /keybindings.json: -------------------------------------------------------------------------------- 1 | [ 2 | // Explorer 3 | { 4 | "key": "e", 5 | "command": "workbench.explorer.fileView.focus", 6 | "when": "!editorFocus && !inputFocus" 7 | }, 8 | { 9 | "key": "a", 10 | "command": "explorer.newFile", 11 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 12 | }, 13 | { 14 | "key": "shift+a", 15 | "command": "explorer.newFolder", 16 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 17 | }, 18 | { 19 | "key": "y", 20 | "command": "filesExplorer.copy", 21 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 22 | }, 23 | { 24 | "key": "x", 25 | "command": "filesExplorer.cut", 26 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 27 | }, 28 | { 29 | "key": "p", 30 | "command": "filesExplorer.paste", 31 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 32 | }, 33 | { 34 | "key": "r", 35 | "command": "renameFile", 36 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !explorerResourceReadonly && !inputFocus" 37 | }, 38 | { 39 | "key": "d", 40 | "command": "moveFileToTrash", 41 | "when": "explorerResourceMoveableToTrash && explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 42 | }, 43 | { 44 | "key": "shift+d", 45 | "command": "deleteFile", 46 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 47 | }, 48 | { 49 | "key": "c", 50 | "command": "workbench.files.action.collapseExplorerFolders", 51 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceReadonly && !inputFocus" 52 | }, 53 | { 54 | "key": "s", 55 | "command": "explorer.openToSide", 56 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 57 | }, 58 | { 59 | "key": "f", 60 | "command": "revealFileInOS", 61 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 62 | }, 63 | { 64 | "key": "t", 65 | "command": "openInTerminal", 66 | "when": "explorerViewletVisible && filesExplorerFocus && !explorerResourceIsRoot && !inputFocus" 67 | }, 68 | { 69 | "key": "u", 70 | "command": "copyFilePath", 71 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 72 | }, 73 | { 74 | "key": "i", 75 | "command": "copyRelativeFilePath", 76 | "when": "explorerViewletFocus && explorerViewletVisible && !inputFocus" 77 | }, 78 | // Git 79 | { 80 | "key": "g", 81 | "command": "workbench.scm.focus", 82 | "when": "!editorFocus && !inputFocus" 83 | }, 84 | { 85 | "key": "o", 86 | "command": "workbench.action.focusNextPart", 87 | "when": "timelineFollowActiveEditor && !inputFocus" 88 | }, 89 | { 90 | "key": "c", 91 | "command": "git.timeline.copyCommitId", 92 | "when": "timelineFollowActiveEditor && !inputFocus" 93 | }, 94 | // Terminal 95 | { 96 | "key": "ctrl+m", 97 | "command": "workbench.action.toggleMaximizedPanel", 98 | "when": "terminalFocus && terminalProcessSupported" 99 | }, 100 | { 101 | "key": "ctrl+shift+j", 102 | "command": "workbench.action.terminal.scrollDown", 103 | "when": "terminalFocus && terminalProcessSupported" 104 | }, 105 | { 106 | "key": "ctrl+shift+k", 107 | "command": "workbench.action.terminal.scrollUp", 108 | "when": "terminalFocus && terminalProcessSupported" 109 | }, 110 | { 111 | "key": "ctrl+shift+h", 112 | "command": "workbench.action.terminal.scrollDownPage", 113 | "when": "terminalFocus && terminalProcessSupported" 114 | }, 115 | { 116 | "key": "ctrl+shift+l", 117 | "command": "workbench.action.terminal.scrollUpPage", 118 | "when": "terminalFocus && terminalProcessSupported" 119 | }, 120 | { 121 | "key": "ctrl+n", 122 | "command": "workbench.action.terminal.focusNext", 123 | "when": "terminalFocus && terminalProcessSupported" 124 | }, 125 | { 126 | "key": "ctrl+shift+n", 127 | "command": "workbench.action.terminal.focusPrevious", 128 | "when": "terminalFocus && terminalProcessSupported" 129 | } 130 | ] 131 | -------------------------------------------------------------------------------- /settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "vim.insertModeKeyBindingsNonRecursive": [ 3 | // Vim Shortcuts 4 | { 5 | "before": ["j", "k"], 6 | "after": [""] 7 | } 8 | ], 9 | "vim.visualModeKeyBindingsNonRecursive": [ 10 | // Vim Shortcuts 11 | { 12 | "before": ["", "l"], 13 | "after": ["$"] 14 | }, 15 | { 16 | "before": ["", "h"], 17 | "after": ["^"] 18 | }, 19 | { 20 | "before": ["J"], 21 | "after": ["5", "j"] 22 | }, 23 | { 24 | "before": ["K"], 25 | "after": ["5", "k"] 26 | }, 27 | // VSCode Shortcuts 28 | { 29 | "before": ["", "a"], 30 | "commands": ["editor.action.quickFix"] 31 | }, 32 | { 33 | "before": ["", "s"], 34 | "commands": ["workbench.action.toggleSidebarVisibility"] 35 | }, 36 | { 37 | "before": ["", "d"], 38 | "commands": ["editor.action.duplicateSelection"] 39 | }, 40 | { 41 | "before": ["", "f"], 42 | "commands": ["editor.action.formatSelection"] 43 | }, 44 | { 45 | "before": ["", "u"], 46 | "commands": ["editor.action.transformToTitlecase"] 47 | }, 48 | { 49 | "before": ["", "i"], 50 | "commands": ["workbench.action.toggleEditorWidths"] 51 | }, 52 | { 53 | "before": ["", "o"], 54 | "commands": ["workbench.action.quickOpen"] 55 | }, 56 | { 57 | "before": ["", "p"], 58 | "commands": ["workbench.action.showCommands"] 59 | }, 60 | { 61 | "before": [""], 62 | "commands": ["editor.action.moveLinesDownAction"] 63 | }, 64 | { 65 | "before": [""], 66 | "commands": ["editor.action.moveLinesUpAction"] 67 | }, 68 | // Emmet 69 | { 70 | "before": ["", "e", "b", "i"], 71 | "commands": ["editor.emmet.action.balanceIn"] 72 | }, 73 | { 74 | "before": ["", "e", "b", "o"], 75 | "commands": ["editor.emmet.action.balanceOut"] 76 | }, 77 | { 78 | "before": ["", "e", "t"], 79 | "commands": ["editor.emmet.action.matchTag"] 80 | }, 81 | { 82 | "before": ["", "e", "c"], 83 | "commands": ["editor.emmet.action.toggleComment"] 84 | }, 85 | { 86 | "before": ["", "e", "n"], 87 | "commands": ["editor.emmet.action.selectNextItem"] 88 | }, 89 | { 90 | "before": ["", "e", "N"], 91 | "commands": ["editor.emmet.action.selectPrevItem"] 92 | }, 93 | { 94 | "before": ["", "e", "x"], 95 | "commands": ["editor.emmet.action.evaluateMathExpression"] 96 | }, 97 | { 98 | "before": ["", "e", "w"], 99 | "commands": [ 100 | "editor.emmet.action.wrapIndividualLinesWithAbbreviation" 101 | ] 102 | }, 103 | // Git 104 | { 105 | "before": ["", "g", "s"], 106 | "commands": ["git.stageSelectedRanges"] 107 | }, 108 | { 109 | "before": ["", "g", "u"], 110 | "commands": ["git.unstageSelectedRanges"] 111 | }, 112 | { 113 | "before": ["", "g", "r"], 114 | "commands": ["git.revertSelectedRanges"] 115 | }, 116 | { 117 | "before": ["leader", "m", "c", "a"], 118 | "commands": ["merge-conflict.accept.selection"] 119 | } 120 | ], 121 | "vim.normalModeKeyBindingsNonRecursive": [ 122 | // Vim Shortcuts 123 | { 124 | "before": ["J"], 125 | "after": ["5", "j"] 126 | }, 127 | { 128 | "before": ["K"], 129 | "after": ["5", "k"] 130 | }, 131 | { 132 | "before": ["", "l"], 133 | "after": ["$"] 134 | }, 135 | { 136 | "before": ["", "h"], 137 | "after": ["^"] 138 | }, 139 | { 140 | "before": [""], 141 | "commands": [":nohl"] 142 | }, 143 | { 144 | "before": [""], 145 | "after": ["", "h"] 146 | }, 147 | { 148 | "before": [""], 149 | "after": ["", "j"] 150 | }, 151 | { 152 | "before": [""], 153 | "after": ["", "k"] 154 | }, 155 | { 156 | "before": [""], 157 | "after": ["", "l"] 158 | }, 159 | // VSCode Shortcuts 160 | { 161 | "before": ["", "e", "f"], 162 | "commands": ["workbench.explorer.fileView.focus"] 163 | }, 164 | { 165 | "before": ["", "a"], 166 | "commands": ["editor.action.quickFix"] 167 | }, 168 | { 169 | "before": ["", "s", "s"], 170 | "commands": ["workbench.action.toggleSidebarVisibility"] 171 | }, 172 | { 173 | "before": ["", "d", "s"], 174 | "commands": ["editor.action.duplicateSelection"] 175 | }, 176 | { 177 | "before": ["", "f", "d"], 178 | "commands": ["editor.action.formatDocument"] 179 | }, 180 | { 181 | "before": ["", "q"], 182 | "commands": ["workbench.action.closeActiveEditor"] 183 | }, 184 | { 185 | "before": ["", "w"], 186 | "commands": ["workbench.action.files.save"] 187 | }, 188 | { 189 | "before": ["", "r", "s"], 190 | "commands": ["editor.action.rename"] 191 | }, 192 | { 193 | "before": ["", "t", "s"], 194 | "commands": ["workbench.action.gotoSymbol"] 195 | }, 196 | { 197 | "before": ["", "u"], 198 | "commands": ["editor.action.transformToTitlecase"] 199 | }, 200 | { 201 | "before": ["", "i"], 202 | "commands": ["workbench.action.toggleEditorWidths"] 203 | }, 204 | { 205 | "before": ["", "o"], 206 | "commands": ["workbench.action.quickOpen"] 207 | }, 208 | { 209 | "before": ["", "p"], 210 | "commands": ["workbench.action.showCommands"] 211 | }, 212 | { 213 | "before": ["", "m", "n"], 214 | "commands": ["editor.action.marker.next"] 215 | }, 216 | { 217 | "before": ["", "m", "N"], 218 | "commands": ["editor.action.marker.prev"] 219 | }, 220 | { 221 | "before": ["", "t", "r"], 222 | "commands": ["workbench.action.tasks.reRunTask"] 223 | }, 224 | { 225 | "before": ["", "t", "c"], 226 | "commands": ["workbench.action.tasks.configureTaskRunner"] 227 | }, 228 | { 229 | "before": ["", "n", "h"], 230 | "commands": ["notifications.hideList"] 231 | }, 232 | { 233 | "before": ["", "n", "c"], 234 | "commands": ["notifications.clearAll"] 235 | }, 236 | { 237 | "before": ["", "n", "f"], 238 | "commands": ["notifications.focusToasts"] 239 | }, 240 | { 241 | "before": ["", "n", "s"], 242 | "commands": ["notifications.showList"] 243 | }, 244 | { 245 | "before": ["", "g", "l"], 246 | "commands": ["workbench.action.gotoLine"] 247 | }, 248 | { 249 | "before": ["", "f", "b"], 250 | "commands": ["breadcrumbs.focusAndSelect"] 251 | }, 252 | { 253 | "before": ["", "t", "w"], 254 | "commands": ["editor.action.toggleWordWrap"] 255 | }, 256 | // View Commands 257 | { 258 | "before": ["", "v", "i", "i"], 259 | "commands": ["workbench.action.increaseViewSize"] 260 | }, 261 | { 262 | "before": ["", "v", "d", "d"], 263 | "commands": ["workbench.action.decreaseViewSize"] 264 | }, 265 | { 266 | "before": ["", "v", "i", "h"], 267 | "commands": ["workbench.action.increaseViewHeight"] 268 | }, 269 | { 270 | "before": ["", "v", "d", "h"], 271 | "commands": ["workbench.action.decreaseViewHeight"] 272 | }, 273 | { 274 | "before": ["", "v", "i", "w"], 275 | "commands": ["workbench.action.increaseViewWidth"] 276 | }, 277 | { 278 | "before": ["", "v", "d", "w"], 279 | "commands": ["workbench.action.decreaseViewWidth"] 280 | }, 281 | { 282 | "before": ["", "t", "t"], 283 | "commands": ["workbench.action.files.newUntitledFile"] 284 | }, 285 | { 286 | "before": ["", "t", "n"], 287 | "commands": ["workbench.action.nextEditor"] 288 | }, 289 | { 290 | "before": ["", "t", "N"], 291 | "commands": ["workbench.action.previousEditor"] 292 | }, 293 | { 294 | "before": ["", "v", "g", "j"], 295 | "commands": ["workbench.action.moveActiveEditorGroupDown"] 296 | }, 297 | { 298 | "before": ["", "v", "g", "h"], 299 | "commands": ["workbench.action.moveActiveEditorGroupLeft"] 300 | }, 301 | { 302 | "before": ["", "v", "g", "l"], 303 | "commands": ["workbench.action.moveActiveEditorGroupRight"] 304 | }, 305 | { 306 | "before": ["", "v", "g", "k"], 307 | "commands": ["workbench.action.moveActiveEditorGroupUp"] 308 | }, 309 | { 310 | "before": ["", "v", "i", "f"], 311 | "commands": ["workbench.action.moveEditorToFirstGroup"] 312 | }, 313 | { 314 | "before": ["", "v", "i", "l"], 315 | "commands": ["workbench.action.moveEditorToLastGroup"] 316 | }, 317 | { 318 | "before": ["", "v", "i", "n"], 319 | "commands": ["workbench.action.moveEditorToNextGroup"] 320 | }, 321 | { 322 | "before": ["", "v", "i", "p"], 323 | "commands": ["workbench.action.moveEditorToPreviousGroup"] 324 | }, 325 | { 326 | "before": ["", "v", "e", "h"], 327 | "commands": ["workbench.action.moveEditorLeftInGroup"] 328 | }, 329 | { 330 | "before": ["", "v", "e", "l"], 331 | "commands": ["workbench.action.moveEditorRightInGroup"] 332 | }, 333 | { 334 | "before": ["", "c", "e", "g"], 335 | "commands": ["workbench.action.closeEditorsAndGroup"] 336 | }, 337 | { 338 | "before": ["", "c", "o", "e"], 339 | "commands": ["workbench.action.closeOtherEditors"] 340 | }, 341 | { 342 | "before": ["", "c", "e", "o"], 343 | "commands": ["workbench.action.closeEditorsInOtherGroups"] 344 | }, 345 | { 346 | "before": ["", "s", "h"], 347 | "commands": ["workbench.action.splitEditorLeft"] 348 | }, 349 | { 350 | "before": ["", "s", "j"], 351 | "commands": ["workbench.action.splitEditorDown"] 352 | }, 353 | { 354 | "before": ["", "s", "k"], 355 | "commands": ["workbench.action.splitEditorUp"] 356 | }, 357 | { 358 | "before": ["", "s", "l"], 359 | "commands": ["workbench.action.splitEditorRight"] 360 | }, 361 | // Emmet Commands 362 | { 363 | "before": ["", "e", "i", "0"], 364 | "commands": ["editor.emmet.action.incrementNumberByOneTenth"] 365 | }, 366 | { 367 | "before": ["", "e", "d", "0"], 368 | "commands": ["editor.emmet.action.decrementNumberByOneTenth"] 369 | }, 370 | { 371 | "before": ["", "e", "i", "u"], 372 | "commands": ["editor.emmet.action.incrementNumberByOne"] 373 | }, 374 | { 375 | "before": ["", "e", "d", "u"], 376 | "commands": ["editor.emmet.action.decrementNumberByOne"] 377 | }, 378 | { 379 | "before": ["", "e", "i", "d"], 380 | "commands": ["editor.emmet.action.incrementNumberByTen"] 381 | }, 382 | { 383 | "before": ["", "e", "d", "d"], 384 | "commands": ["editor.emmet.action.decrementNumberByTen"] 385 | }, 386 | { 387 | "before": ["", "e", "t"], 388 | "commands": ["editor.emmet.action.matchTag"] 389 | }, 390 | { 391 | "before": ["", "e", "n"], 392 | "commands": ["editor.emmet.action.nextEditPoint"] 393 | }, 394 | { 395 | "before": ["", "e", "N"], 396 | "commands": ["editor.emmet.action.prevEditPoint"] 397 | }, 398 | { 399 | "before": ["", "e", "x"], 400 | "commands": ["editor.emmet.action.evaluateMathExpression"] 401 | }, 402 | { 403 | "before": ["", "e", "m", "l"], 404 | "commands": ["editor.emmet.action.mergeLines"] 405 | }, 406 | { 407 | "before": ["", "e", "u", "t"], 408 | "commands": ["editor.emmet.action.updateTag"] 409 | }, 410 | { 411 | "before": ["", "e", "r", "t"], 412 | "commands": ["editor.emmet.action.removeTag"] 413 | }, 414 | { 415 | "before": ["", "e", "s", "j"], 416 | "commands": ["editor.emmet.action.splitJoinTag"] 417 | }, 418 | { 419 | "before": ["", "e", "u", "i"], 420 | "commands": ["editor.emmet.action.updateImageSize"] 421 | }, 422 | { 423 | "before": ["", "e", "c"], 424 | "commands": ["editor.emmet.action.toggleComment"] 425 | }, 426 | { 427 | "before": ["", "e", "r", "c"], 428 | "commands": ["editor.emmet.action.reflectCSSValue"] 429 | }, 430 | { 431 | "before": ["", "e", "w"], 432 | "commands": ["editor.emmet.action.wrapWithAbbreviation"] 433 | }, 434 | // Git Commands 435 | { 436 | "before": ["leader", "g", "g"], 437 | "commands": ["workbench.scm.focus"] 438 | }, 439 | { 440 | "before": ["leader", "g", "t", "l"], 441 | "commands": ["timeline.focus"] 442 | }, 443 | { 444 | "before": ["leader", "g", "i", "r"], 445 | "commands": ["git.init"] 446 | }, 447 | { 448 | "before": ["leader", "g", "a", "i"], 449 | "commands": ["git.ignore"] 450 | }, 451 | { 452 | "before": ["leader", "g", "p", "g"], 453 | "commands": ["github.publish"] 454 | }, 455 | { 456 | "before": ["leader", "g", "a", "r"], 457 | "commands": ["git.addRemote"] 458 | }, 459 | { 460 | "before": ["leader", "g", "r", "r"], 461 | "commands": ["git.removeRemote"] 462 | }, 463 | { 464 | "before": ["leader", "g", "s", "c"], 465 | "commands": ["git.stage"] 466 | }, 467 | { 468 | "before": ["leader", "g", "s", "a", "c"], 469 | "commands": ["git.stageAll"] 470 | }, 471 | { 472 | "before": ["leader", "g", "s", "a", "m"], 473 | "commands": ["git.stageAllMerge"] 474 | }, 475 | { 476 | "before": ["leader", "g", "s", "a", "t"], 477 | "commands": ["git.stageAllTracked"] 478 | }, 479 | { 480 | "before": ["leader", "g", "s", "a", "t"], 481 | "commands": ["git.stageAllUntracked"] 482 | }, 483 | { 484 | "before": ["leader", "g", "u", "c"], 485 | "commands": ["git.unstage"] 486 | }, 487 | { 488 | "before": ["leader", "g", "u", "a", "c"], 489 | "commands": ["git.unstageAll"] 490 | }, 491 | { 492 | "before": ["leader", "g", "c", "m"], 493 | "commands": ["git.commit"] 494 | }, 495 | { 496 | "before": ["leader", "g", "c", "a"], 497 | "commands": ["git.commitAll"] 498 | }, 499 | { 500 | "before": ["leader", "g", "c", "s"], 501 | "commands": ["git.commitStaged"] 502 | }, 503 | { 504 | "before": ["leader", "g", "c", "e"], 505 | "commands": ["git.commitEmpty"] 506 | }, 507 | { 508 | "before": ["leader", "g", "u", "l", "c"], 509 | "commands": ["git.undoCommit"] 510 | }, 511 | { 512 | "before": ["leader", "g", "p", "h"], 513 | "commands": ["git.push"] 514 | }, 515 | { 516 | "before": ["leader", "g", "p", "f"], 517 | "commands": ["git.pushForce"] 518 | }, 519 | { 520 | "before": ["leader", "g", "p", "b", "t"], 521 | "commands": ["git.pushTo"] 522 | }, 523 | { 524 | "before": ["leader", "g", "p", "b", "t", "f"], 525 | "commands": ["git.pushToForce"] 526 | }, 527 | { 528 | "before": ["leader", "g", "p", "l"], 529 | "commands": ["git.pull"] 530 | }, 531 | { 532 | "before": ["leader", "g", "P", "f"], 533 | "commands": ["git.pullFrom"] 534 | }, 535 | { 536 | "before": ["leader", "g", "P", "r"], 537 | "commands": ["git.pullRebase"] 538 | }, 539 | { 540 | "before": ["leader", "g", "A", "r"], 541 | "commands": ["git.rebaseAbort"] 542 | }, 543 | { 544 | "before": ["leader", "g", "c", "b"], 545 | "commands": ["git.branch"] 546 | }, 547 | { 548 | "before": ["leader", "g", "c", "b", "f"], 549 | "commands": ["git.branchFrom"] 550 | }, 551 | { 552 | "before": ["leader", "g", "d", "b"], 553 | "commands": ["git.deleteBranch"] 554 | }, 555 | { 556 | "before": ["leader", "g", "m", "b"], 557 | "commands": ["git.merge"] 558 | }, 559 | { 560 | "before": ["leader", "g", "p", "b"], 561 | "commands": ["git.publish"] 562 | }, 563 | { 564 | "before": ["leader", "g", "r", "b"], 565 | "commands": ["git.renameBranch"] 566 | }, 567 | { 568 | "before": ["leader", "g", "R", "b"], 569 | "commands": ["git.rebase"] 570 | }, 571 | { 572 | "before": ["leader", "g", "C"], 573 | "commands": ["git.checkout"] 574 | }, 575 | { 576 | "before": ["leader", "g", "C", "d"], 577 | "commands": ["git.checkoutDetached"] 578 | }, 579 | { 580 | "before": ["leader", "g", "c", "p"], 581 | "commands": ["git.cherryPick"] 582 | }, 583 | { 584 | "before": ["leader", "g", "d", "c"], 585 | "commands": ["git.clean"] 586 | }, 587 | { 588 | "before": ["leader", "g", "d", "a", "c"], 589 | "commands": ["git.cleanAll"] 590 | }, 591 | { 592 | "before": ["leader", "g", "d", "a", "t"], 593 | "commands": ["git.cleanAllTracked"] 594 | }, 595 | { 596 | "before": ["leader", "g", "d", "a", "u"], 597 | "commands": ["git.cleanAllUntracked"] 598 | }, 599 | { 600 | "before": ["leader", "g", "s", "s"], 601 | "commands": ["git.stash"] 602 | }, 603 | { 604 | "before": ["leader", "g", "s", "i", "u"], 605 | "commands": ["git.stashIncludeUntracked"] 606 | }, 607 | { 608 | "before": ["leader", "g", "a", "s"], 609 | "commands": ["git.stashApply"] 610 | }, 611 | { 612 | "before": ["leader", "g", "a", "l", "s"], 613 | "commands": ["git.stashApplyLatest"] 614 | }, 615 | { 616 | "before": ["leader", "g", "d", "s"], 617 | "commands": ["git.stashDrop"] 618 | }, 619 | { 620 | "before": ["leader", "g", "p", "s"], 621 | "commands": ["git.stashPop"] 622 | }, 623 | { 624 | "before": ["leader", "g", "p", "l", "s"], 625 | "commands": ["git.stashPopLatest"] 626 | }, 627 | { 628 | "before": ["leader", "g", "c", "t"], 629 | "commands": ["git.createTag"] 630 | }, 631 | { 632 | "before": ["leader", "g", "d", "t"], 633 | "commands": ["git.deleteTag"] 634 | }, 635 | { 636 | "before": ["leader", "g", "p", "t"], 637 | "commands": ["git.pushTags"] 638 | }, 639 | { 640 | "before": ["leader", "g", "f", "f"], 641 | "commands": ["git.fetch"] 642 | }, 643 | { 644 | "before": ["leader", "g", "f", "p"], 645 | "commands": ["git.fetchPrune"] 646 | }, 647 | { 648 | "before": ["leader", "g", "f", "f", "a", "r"], 649 | "commands": ["git.fetchAll"] 650 | }, 651 | { 652 | "before": ["leader", "g", "o", "c"], 653 | "commands": ["git.openChange"] 654 | }, 655 | { 656 | "before": ["leader", "g", "o", "f"], 657 | "commands": ["git.openFile"] 658 | }, 659 | { 660 | "before": ["leader", "g", "s", "n"], 661 | "commands": ["editor.action.dirtydiff.next"] 662 | }, 663 | { 664 | "before": ["leader", "g", "s", "N"], 665 | "commands": ["editor.action.dirtydiff.previous"] 666 | }, 667 | { 668 | "before": ["leader", "g", "m", "n"], 669 | "commands": ["workbench.action.editor.nextChange"] 670 | }, 671 | { 672 | "before": ["leader", "g", "m", "N"], 673 | "commands": ["workbench.action.editor.previousChange"] 674 | }, 675 | { 676 | "before": ["leader", "g", "c", "n"], 677 | "commands": ["workbench.action.compareEditor.nextChange"] 678 | }, 679 | { 680 | "before": ["leader", "g", "c", "N"], 681 | "commands": ["workbench.action.compareEditor.previousChange"] 682 | }, 683 | { 684 | "before": ["leader", "g", "i", "v"], 685 | "commands": ["toggle.diff.renderSideBySide"] 686 | }, 687 | { 688 | "before": ["leader", "m", "c", "b"], 689 | "commands": ["merge-conflict.accept.both"] 690 | }, 691 | { 692 | "before": ["leader", "m", "c", "c"], 693 | "commands": ["merge-conflict.accept.current"] 694 | }, 695 | { 696 | "before": ["leader", "m", "c", "i"], 697 | "commands": ["merge-conflict.accept.incoming"] 698 | }, 699 | { 700 | "before": ["leader", "m", "c", "a", "b"], 701 | "commands": ["merge-conflict.accept.all-both"] 702 | }, 703 | { 704 | "before": ["leader", "m", "c", "a", "c"], 705 | "commands": ["merge-conflict.accept.all-current"] 706 | }, 707 | { 708 | "before": ["leader", "m", "c", "a", "i"], 709 | "commands": ["merge-conflict.accept.all-incoming"] 710 | }, 711 | { 712 | "before": ["leader", "m", "c", "o"], 713 | "commands": ["merge-conflict.compare"] 714 | }, 715 | { 716 | "before": ["leader", "m", "c", "n"], 717 | "commands": ["merge-conflict.next"] 718 | }, 719 | { 720 | "before": ["leader", "m", "c", "N"], 721 | "commands": ["merge-conflict.previous"] 722 | }, 723 | // Debug Commands 724 | { 725 | "before": ["", "d", "f"], 726 | "commands": ["workbench.view.debug"] 727 | }, 728 | { 729 | "before": ["", "d", "c"], 730 | "commands": ["workbench.action.debug.continue"] 731 | }, 732 | { 733 | "before": ["", "d", "p"], 734 | "commands": ["workbench.action.debug.pause"] 735 | }, 736 | { 737 | "before": ["", "d", "r"], 738 | "commands": ["workbench.action.debug.restart"] 739 | }, 740 | { 741 | "before": ["", "d", "h"], 742 | "commands": ["editor.debug.action.showDebugHover"] 743 | }, 744 | { 745 | "before": ["", "d", "s"], 746 | "commands": ["workbench.action.debug.start"] 747 | }, 748 | { 749 | "before": ["", "d", "i"], 750 | "commands": ["workbench.action.debug.stepInto"] 751 | }, 752 | { 753 | "before": ["", "d", "u"], 754 | "commands": ["workbench.action.debug.stepOut"] 755 | }, 756 | { 757 | "before": ["", "d", "o"], 758 | "commands": ["workbench.action.debug.stepOver"] 759 | }, 760 | { 761 | "before": ["", "d", "b"], 762 | "commands": ["editor.debug.action.toggleBreakpoint"] 763 | }, 764 | { 765 | "before": ["", "d", "x"], 766 | "commands": ["workbench.action.debug.stop"] 767 | }, 768 | { 769 | "before": ["", "d", "a", "l"], 770 | "commands": ["editor.debug.action.addLogPoint"] 771 | }, 772 | { 773 | "before": ["", "d", "a", "f"], 774 | "commands": [ 775 | "workbench.debug.viewlet.action.addFunctionBreakpointAction" 776 | ] 777 | }, 778 | { 779 | "before": ["", "d", "a", "c"], 780 | "commands": ["editor.debug.action.conditionalBreakpoint"] 781 | }, 782 | { 783 | "before": ["", "d", "a", "i"], 784 | "commands": ["editor.debug.action.toggleInlineBreakpoint"] 785 | }, 786 | { 787 | "before": ["", "d", "e", "b"], 788 | "commands": ["workbench.debug.viewlet.action.enableAllBreakpoints"] 789 | }, 790 | { 791 | "before": ["", "d", "d", "b"], 792 | "commands": ["workbench.debug.viewlet.action.disableAllBreakpoints"] 793 | }, 794 | { 795 | "before": ["", "d", "r", "b"], 796 | "commands": ["workbench.debug.viewlet.action.removeAllBreakpoints"] 797 | }, 798 | { 799 | "before": ["", "d", "n"], 800 | "commands": ["editor.debug.action.goToNextBreakpoint"] 801 | }, 802 | { 803 | "before": ["", "d", "N"], 804 | "commands": ["editor.debug.action.goToPreviousBreakpoint"] 805 | } 806 | ] 807 | } 808 | -------------------------------------------------------------------------------- /whichkey.json: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/AnthonyAsDev/VSCodeVimSettings/33024e6a83eff8464cbcf620fff7ca38d5e40b7d/whichkey.json --------------------------------------------------------------------------------