|
422 | 422 | { |
423 | 423 | "context": "(vim_mode == helix_normal || vim_mode == helix_select) && !menu", |
424 | 424 | "bindings": { |
425 | | - ";": "vim::HelixCollapseSelection", |
426 | | - ":": "command_palette::Toggle", |
427 | | - "m": "vim::PushHelixMatch", |
428 | | - "s": "vim::HelixSelectRegex", |
429 | | - "]": ["vim::PushHelixNext", { "around": true }], |
430 | | - "[": ["vim::PushHelixPrevious", { "around": true }], |
431 | | - "left": "vim::WrappingLeft", |
432 | | - "right": "vim::WrappingRight", |
| 425 | + // Movement |
433 | 426 | "h": "vim::WrappingLeft", |
| 427 | + "left": "vim::WrappingLeft", |
434 | 428 | "l": "vim::WrappingRight", |
435 | | - "y": "vim::HelixYank", |
436 | | - "p": "vim::HelixPaste", |
437 | | - "shift-p": ["vim::HelixPaste", { "before": true }], |
438 | | - "alt-;": "vim::OtherEnd", |
439 | | - "ctrl-r": "vim::Redo", |
440 | | - "f": ["vim::PushFindForward", { "before": false, "multiline": true }], |
| 429 | + "right": "vim::WrappingRight", |
441 | 430 | "t": ["vim::PushFindForward", { "before": true, "multiline": true }], |
442 | | - "shift-f": ["vim::PushFindBackward", { "after": false, "multiline": true }], |
| 431 | + "f": ["vim::PushFindForward", { "before": false, "multiline": true }], |
443 | 432 | "shift-t": ["vim::PushFindBackward", { "after": true, "multiline": true }], |
444 | | - ">": "vim::Indent", |
445 | | - "<": "vim::Outdent", |
446 | | - "=": "vim::AutoIndent", |
| 433 | + "shift-f": ["vim::PushFindBackward", { "after": false, "multiline": true }], |
| 434 | + "alt-.": "vim::RepeatFind", |
| 435 | + |
| 436 | + // Changes |
| 437 | + "shift-r": "editor::Paste", |
447 | 438 | "`": "vim::ConvertToLowerCase", |
448 | 439 | "alt-`": "vim::ConvertToUpperCase", |
449 | | - "g q": "vim::PushRewrap", |
450 | | - "g w": "vim::PushRewrap", |
451 | 440 | "insert": "vim::InsertBefore", |
452 | | - "alt-.": "vim::RepeatFind", |
| 441 | + "shift-u": "editor::Redo", |
| 442 | + "ctrl-r": "vim::Redo", |
| 443 | + "y": "vim::HelixYank", |
| 444 | + "p": "vim::HelixPaste", |
| 445 | + "shift-p": ["vim::HelixPaste", { "before": true }], |
| 446 | + ">": "vim::Indent", |
| 447 | + "<": "vim::Outdent", |
| 448 | + "=": "vim::AutoIndent", |
| 449 | + "d": "vim::HelixDelete", |
| 450 | + "c": "vim::HelixSubstitute", |
| 451 | + "alt-c": "vim::HelixSubstituteNoYank", |
| 452 | + |
| 453 | + // Selection manipulation |
| 454 | + "s": "vim::HelixSelectRegex", |
453 | 455 | "alt-s": ["editor::SplitSelectionIntoLines", { "keep_selections": true }], |
| 456 | + ";": "vim::HelixCollapseSelection", |
| 457 | + "alt-;": "vim::OtherEnd", |
| 458 | + ",": "vim::HelixKeepNewestSelection", |
| 459 | + "shift-c": "vim::HelixDuplicateBelow", |
| 460 | + "alt-shift-c": "vim::HelixDuplicateAbove", |
| 461 | + "%": "editor::SelectAll", |
| 462 | + "x": "vim::HelixSelectLine", |
| 463 | + "shift-x": "editor::SelectLine", |
| 464 | + "ctrl-c": "editor::ToggleComments", |
| 465 | + "alt-o": "editor::SelectLargerSyntaxNode", |
| 466 | + "alt-i": "editor::SelectSmallerSyntaxNode", |
| 467 | + "alt-p": "editor::SelectPreviousSyntaxNode", |
| 468 | + "alt-n": "editor::SelectNextSyntaxNode", |
| 469 | + |
454 | 470 | // Goto mode |
455 | | - "g n": "pane::ActivateNextItem", |
456 | | - "g p": "pane::ActivatePreviousItem", |
457 | | - // "tab": "pane::ActivateNextItem", |
458 | | - // "shift-tab": "pane::ActivatePrevItem", |
459 | | - "shift-h": "pane::ActivatePreviousItem", |
460 | | - "shift-l": "pane::ActivateNextItem", |
461 | | - "g l": "vim::EndOfLine", |
| 471 | + "g e": "vim::EndOfDocument", |
462 | 472 | "g h": "vim::StartOfLine", |
| 473 | + "g l": "vim::EndOfLine", |
463 | 474 | "g s": "vim::FirstNonWhitespace", // "g s" default behavior is "space s" |
464 | | - "g e": "vim::EndOfDocument", |
465 | | - "g .": "vim::HelixGotoLastModification", // go to last modification |
466 | | - "g r": "editor::FindAllReferences", // zed specific |
467 | 475 | "g t": "vim::WindowTop", |
468 | 476 | "g c": "vim::WindowMiddle", |
469 | 477 | "g b": "vim::WindowBottom", |
470 | | - |
471 | | - "shift-r": "editor::Paste", |
472 | | - "x": "vim::HelixSelectLine", |
473 | | - "shift-x": "editor::SelectLine", |
474 | | - "%": "editor::SelectAll", |
| 478 | + "g r": "editor::FindAllReferences", // zed specific |
| 479 | + "g n": "pane::ActivateNextItem", |
| 480 | + "shift-l": "pane::ActivateNextItem", |
| 481 | + "g p": "pane::ActivatePreviousItem", |
| 482 | + "shift-h": "pane::ActivatePreviousItem", |
| 483 | + "g .": "vim::HelixGotoLastModification", // go to last modification |
| 484 | + |
475 | 485 | // Window mode |
476 | 486 | "space w h": "workspace::ActivatePaneLeft", |
477 | 487 | "space w l": "workspace::ActivatePaneRight", |
|
482 | 492 | "space w r": "pane::SplitRight", |
483 | 493 | "space w v": "pane::SplitDown", |
484 | 494 | "space w d": "pane::SplitDown", |
| 495 | + |
485 | 496 | // Space mode |
486 | 497 | "space f": "file_finder::Toggle", |
487 | 498 | "space k": "editor::Hover", |
|
492 | 503 | "space a": "editor::ToggleCodeActions", |
493 | 504 | "space h": "editor::SelectAllMatches", |
494 | 505 | "space c": "editor::ToggleComments", |
495 | | - "space y": "editor::Copy", |
496 | 506 | "space p": "editor::Paste", |
497 | | - "shift-u": "editor::Redo", |
498 | | - "ctrl-c": "editor::ToggleComments", |
499 | | - "d": "vim::HelixDelete", |
500 | | - "c": "vim::HelixSubstitute", |
501 | | - "alt-c": "vim::HelixSubstituteNoYank", |
502 | | - "shift-c": "vim::HelixDuplicateBelow", |
503 | | - "alt-shift-c": "vim::HelixDuplicateAbove", |
504 | | - ",": "vim::HelixKeepNewestSelection" |
| 507 | + "space y": "editor::Copy", |
| 508 | + |
| 509 | + // Other |
| 510 | + ":": "command_palette::Toggle", |
| 511 | + "m": "vim::PushHelixMatch", |
| 512 | + "]": ["vim::PushHelixNext", { "around": true }], |
| 513 | + "[": ["vim::PushHelixPrevious", { "around": true }], |
| 514 | + "g q": "vim::PushRewrap", |
| 515 | + "g w": "vim::PushRewrap", |
| 516 | + // "tab": "pane::ActivateNextItem", |
| 517 | + // "shift-tab": "pane::ActivatePrevItem", |
505 | 518 | } |
506 | 519 | }, |
507 | 520 | { |
|
0 commit comments