From 8f6e8a277bb881f0e5cb5cc8fa66785df7542e48 Mon Sep 17 00:00:00 2001 From: Zofia Szweda Date: Thu, 3 Sep 2026 21:00:51 +0200 Subject: gram vim mode colemak config --- gram/.config/gram/keymap.jsonc | 143 +++++++++++++++++++++++++++++++++++---- gram/.config/gram/settings.jsonc | 30 ++------ vim/.vim/.netrwhist | 4 +- 3 files changed, 136 insertions(+), 41 deletions(-) diff --git a/gram/.config/gram/keymap.jsonc b/gram/.config/gram/keymap.jsonc index 36be90c..df616c0 100644 --- a/gram/.config/gram/keymap.jsonc +++ b/gram/.config/gram/keymap.jsonc @@ -1,24 +1,137 @@ + + + + + + + + + [ + + + + { + "context": "vim_mode == normal || vim_mode == visual || vim_mode == operator", + "bindings": { + "n": "vim::Left", + "e": "vim::Down", + "i": "vim::Up", + "o": "vim::Right", + + + "l": "vim::PreviousWordStart", + "shift-l": ["vim::PreviousWordStart", { "ignore_punctuation": true }], + "u": "vim::NextWordEnd", + "shift-u": ["vim::NextWordEnd", { "ignore_punctuation": true }], + "y": "vim::NextWordStart", + "shift-y": ["vim::NextWordStart", { "ignore_punctuation": true }], + + + + "p": ["vim::PushFindForward", { "before": true, "multiline": false }], + "shift-p": ["vim::PushFindBackward", { "after": true, "multiline": false }], + "b": "vim::RepeatFind", + "shift-b": "vim::RepeatFindReversed", + "k": "vim::MoveToNextMatch", + "shift-k": "vim::MoveToPreviousMatch", + + + "g shift-k": "editor::Hover", + "g shift-l": "vim::WindowBottom", + + + + "j": null, + "j enter": ["workspace::SendKeystrokes", "z t ^"], + "j -": ["workspace::SendKeystrokes", "z b ^"], + "j t": "editor::ScrollCursorTop", + "j z": "editor::ScrollCursorCenter", + "j .": ["workspace::SendKeystrokes", "z z ^"], + "j b": "editor::ScrollCursorBottom", + "j a": "editor::ToggleFold", + "j shift-a": "editor::ToggleFoldRecursive", + "j c": "editor::Fold", + "j shift-c": "editor::FoldRecursive", + "j o": "editor::UnfoldLines", + "j shift-o": "editor::UnfoldRecursive", + "j f": "editor::FoldSelectedRanges", + "j shift-m": "editor::FoldAll", + "j shift-r": "editor::UnfoldAll", + "j l": "vim::ColumnRight", + "j h": "vim::ColumnLeft", + "j shift-l": "vim::HalfPageRight", + "j shift-h": "vim::HalfPageLeft" + + + } + }, + + + { "context": "VimControl && !menu", "bindings": { - "n": ["workspace::SendKeystrokes", "h"], - "e": ["workspace::SendKeystrokes", "j"], - "i": ["workspace::SendKeystrokes", "k"], - "o": ["workspace::SendKeystrokes", "l"], - }, + "r": ["vim::PushObject", { "around": false }] + } + }, + + + { + "context": "vim_mode == normal", + "bindings": { + + "s": "vim::InsertBefore", + "shift-s": "vim::InsertFirstNonWhitespace", + "t": "vim::InsertAfter", + "shift-t": "vim::InsertEndOfLine", + "h": "vim::InsertLineBelow", + "shift-h": "vim::InsertLineAbove", + + + "w": "vim::PushChange", + "shift-w": "vim::ChangeToEndOfLine", + + + "c": "vim::PushYank", + "shift-c": "vim::YankLine", + "v": "vim::Paste", + "shift-v": ["vim::Paste", { "before": true }], + "shift-x": ["workspace::SendKeystrokes", "d d"], + + + "z": "vim::Undo", + "g z": "vim::UndoLastLine", + "shift-z shift-r": null, + "shift-z": "vim::Redo", + + "a": "vim::ToggleVisual", + "shift-a": "vim::ToggleVisualLine", + + "g shift-x": "vim::DeleteLeft" + } }, + { - "context": "vim_mode == normal && !menu", + "context": "vim_mode == visual", "bindings": { - "i": ["vim::HelixInsert", "s"], - "a": ["workspace::SendKeystrokes", "v"], - "t": ["workspace::SendKeystrokes", "a"], - "h": ["workspace::SendKeystrokes", "t"], - "l": ["workspace::SendKeystrokes", "o"], - "shift-l": ["workspace::SendKeystrokes", "shift-o"], - "k": ["workspace::SendKeystrokes", "e"], - "shift-k": ["workspace::SendKeystrokes", "shift-e"], - }, + "w": "vim::Substitute", + "shift-w": "vim::Substitute", + "x": "vim::VisualDelete", + "shift-x": "vim::VisualDelete", + "c": "vim::VisualYank", + "v": "vim::Paste", + "shift-v": ["vim::Paste", { "before": true }] + } }, + + { + "context": "VimControl && !menu || !Editor && !Terminal", + "bindings": { + "ctrl-w n": "workspace::ActivatePaneLeft", + "ctrl-w e": "workspace::ActivatePaneDown", + "ctrl-w i": "workspace::ActivatePaneUp", + "ctrl-w o": "workspace::ActivatePaneRight" + } + } ] diff --git a/gram/.config/gram/settings.jsonc b/gram/.config/gram/settings.jsonc index eeb517a..b7a38f8 100644 --- a/gram/.config/gram/settings.jsonc +++ b/gram/.config/gram/settings.jsonc @@ -1,27 +1,9 @@ { - "ui_font_weight": 400.0, - "ui_font_family": "CommitMonoV143", - "buffer_line_height": "standard", - "buffer_font_family": "CommitMonoV143", - "node": { - "allow_binary_download": true, - "allow_npm_install": true, - "allow_prettier_download": true, - }, - "helix_mode": true, + "ui_font_family": "Berkeley Mono", + "buffer_font_family": "Berkeley Mono", "base_keymap": "Minimal", - "icon_theme": "Gram (Default)", - "show_completions_on_input": true, - "use_autoclose": true, - "ui_font_size": 14.0, - "line_indicator_format": "long", - "status_bar": { - "cursor_position_button": true, - "line_endings_button": false, - }, - "theme": { - "mode": "dark", - "light": "Alabaster Mono", - "dark": "Alabaster Dark", - }, + "vim_mode": true, + "ui_font_size": 14, + "buffer_font_size": 14, + "theme": "Alabaster Dark", } diff --git a/vim/.vim/.netrwhist b/vim/.vim/.netrwhist index fba4bf2..86de64b 100644 --- a/vim/.vim/.netrwhist +++ b/vim/.vim/.netrwhist @@ -1,5 +1,6 @@ let g:netrw_dirhistmax =10 -let g:netrw_dirhistcnt =1 +let g:netrw_dirhistcnt =2 +let g:netrw_dirhist_2='/home/sophie/website' let g:netrw_dirhist_1='/home/sophie/stow/nano' let g:netrw_dirhist_0='/home/sophie/stow' let g:netrw_dirhist_9='/home/sophie/stow/gram' @@ -9,4 +10,3 @@ let g:netrw_dirhist_6='/home/sophie/stow' let g:netrw_dirhist_5='/home/sophie/website' let g:netrw_dirhist_4='/home/sophie/stow/fish/.config/fish' let g:netrw_dirhist_3='/home/sophie/stow/fish/.config' -let g:netrw_dirhist_2='/home/sophie/stow' -- cgit v1.2.3