diff options
Diffstat (limited to 'modules/by-name/fi/fish/keymappings/default.nix')
| -rw-r--r-- | modules/by-name/fi/fish/keymappings/default.nix | 99 |
1 files changed, 99 insertions, 0 deletions
diff --git a/modules/by-name/fi/fish/keymappings/default.nix b/modules/by-name/fi/fish/keymappings/default.nix new file mode 100644 index 00000000..6aed6ce4 --- /dev/null +++ b/modules/by-name/fi/fish/keymappings/default.nix @@ -0,0 +1,99 @@ +{lib, ...}: +lib.fix (self: let + escPlus = key: ''\e\[${key}''; +in { + "operator" = import ./operator.nix {inherit self;}; + "insert" = import ./insert.nix {inherit self escPlus;}; + "default" = import ./default_mode.nix {inherit self escPlus;}; + "visual" = import ./visual.nix {inherit self escPlus;}; + + "T" = { + "" = { + cmd = self.t."".cmd; + }; + }; + "f" = { + "" = { + cmd = self.F."".cmd; + }; + }; + "F" = { + "" = { + cmd = [ + "get-key" + "fish_vi_exec_motion commandline --backward-jump=$fish_key" + "set -eg fish_key" + ]; + }; + }; + "t" = { + "" = { + cmd = [ + "get-key" + "fish_vi_exec_motion commandline --forward-jump-till=$fish_key" + "set -eg fish_key" + ]; + }; + }; + + "replace" = { + "#" = { + cmd = "__fish_toggle_comment_commandline"; + }; + "ctrl-m" = { + cmd = ["execute" "repaint-mode"]; + sets_mode_to = "insert"; + }; + "shift-backspace" = { + cmd = "backward-char"; + }; + "enter" = { + cmd = ["execute" "repaint-mode"]; + sets_mode_to = "insert"; + }; + "" = { + cmd = ["delete-char" "self-insert"]; + }; + "backspace" = { + cmd = "backward-char"; + }; + "ctrl-j" = { + cmd = ["execute" "repaint-mode"]; + sets_mode_to = "insert"; + }; + "ctrl-\\[" = self.replace.escape; + "escape" = { + cmd = ["cancel" "repaint-mode"]; + sets_mode_to = "default"; + }; + }; + "replace_one" = { + "" = { + cmd = [ + "set -g fish_cursor_end_mode exclusive" + "delete-char" + "self-insert" + "backward-char" + "repaint-mode" + "set -g fish_cursor_end_mode inclusive" + ]; + sets_mode_to = "default"; + }; + "enter" = { + cmd = [ + "set -g fish_cursor_end_mode exclusive" + ''commandline -f delete-char; commandline -i \n; commandline -f backward-char'' + "repaint-mode" + "set -g fish_cursor_end_mode inclusive" + ]; + sets_mode_to = "default"; + }; + "ctrl-j" = self.replace_one.enter; + "ctrl-m" = self.replace_one.enter; + "ctrl-\\[" = self.replace_one.escape; + "escape" = { + cmd = ["cancel" "repaint-mode"]; + sets_mode_to = "default"; + }; + }; +}) |
