summaryrefslogtreecommitdiffstats
path: root/modules/by-name/fi/fish/keymappings/default.nix
diff options
context:
space:
mode:
Diffstat (limited to 'modules/by-name/fi/fish/keymappings/default.nix')
-rw-r--r--modules/by-name/fi/fish/keymappings/default.nix99
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";
+ };
+ };
+})