Files
garandos/modules/home/yazi/keymap.nix
2025-09-13 23:16:22 +02:00

1202 lines
25 KiB
Nix

{
mgr = {
keymap = [
{
on = "<Esc>";
run = "escape";
desc = "Exit visual mode, clear selected, or cancel search";
}
{
on = "<C-[>";
run = "escape";
desc = "Exit visual mode, clear selected, or cancel search";
}
{
on = "q";
run = "quit";
desc = "Quit the process";
}
{
on = "Q";
run = "quit --no-cwd-file";
desc = "Quit the process without outputting cwd-file";
}
{
on = "<C-c>";
run = "close";
desc = "Close the current tab, or quit if it's last";
}
{
on = "<C-z>";
run = "suspend";
desc = "Suspend the process";
}
{
on = "k";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "j";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Up>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<Down>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<C-u>";
run = "arrow -50%";
desc = "Move cursor up half page";
}
{
on = "<C-d>";
run = "arrow 50%";
desc = "Move cursor down half page";
}
{
on = "<C-b>";
run = "arrow -100%";
desc = "Move cursor up one page";
}
{
on = "<C-f>";
run = "arrow 100%";
desc = "Move cursor down one page";
}
{
on = "<S-PageUp>";
run = "arrow -50%";
desc = "Move cursor up half page";
}
{
on = "<S-PageDown>";
run = "arrow 50%";
desc = "Move cursor down half page";
}
{
on = "<PageUp>";
run = "arrow -100%";
desc = "Move cursor up one page";
}
{
on = "<PageDown>";
run = "arrow 100%";
desc = "Move cursor down one page";
}
{
on = [ "g" "g" ];
run = "arrow top";
desc = "Move cursor to the top";
}
{
on = "G";
run = "arrow bot";
desc = "Move cursor to the bottom";
}
{
on = "h";
run = "leave";
desc = "Go back to the parent directory";
}
{
on = "l";
run = "enter";
desc = "Enter the child directory";
}
{
on = "<Left>";
run = "leave";
desc = "Go back to the parent directory";
}
{
on = "<Right>";
run = "enter";
desc = "Enter the child directory";
}
{
on = "H";
run = "back";
desc = "Go back to the previous directory";
}
{
on = "L";
run = "forward";
desc = "Go forward to the next directory";
}
{
on = "<Space>";
run = [ "toggle" "arrow 1" ];
desc = "Toggle the current selection state";
}
{
on = "<C-a>";
run = "toggle_all --state=on";
desc = "Select all files";
}
{
on = "<C-r>";
run = "toggle_all";
desc = "Invert selection of all files";
}
{
on = "v";
run = "visual_mode";
desc = "Enter visual mode (selection mode)";
}
{
on = "V";
run = "visual_mode --unset";
desc = "Enter visual mode (unset mode)";
}
{
on = "K";
run = "seek -5";
desc = "Seek up 5 units in the preview";
}
{
on = "J";
run = "seek 5";
desc = "Seek down 5 units in the preview";
}
{
on = "<Tab>";
run = "spot";
desc = "Spot hovered file";
}
{
on = "o";
run = "open";
desc = "Open selected files";
}
{
on = "O";
run = "open --interactive";
desc = "Open selected files interactively";
}
{
on = "<Enter>";
run = "open";
desc = "Open selected files";
}
{
on = "<S-Enter>";
run = "open --interactive";
desc = "Open selected files interactively";
}
{
on = "y";
run = "yank";
desc = "Yank selected files (copy)";
}
{
on = "x";
run = "yank --cut";
desc = "Yank selected files (cut)";
}
{
on = "p";
run = "paste";
desc = "Paste yanked files";
}
{
on = "P";
run = "paste --force";
desc = "Paste yanked files (overwrite if the destination exists)";
}
{
on = "-";
run = "link";
desc = "Symlink the absolute path of yanked files";
}
{
on = "_";
run = "link --relative";
desc = "Symlink the relative path of yanked files";
}
{
on = "<C-->";
run = "hardlink";
desc = "Hardlink yanked files";
}
{
on = "Y";
run = "unyank";
desc = "Cancel the yank status";
}
{
on = "X";
run = "unyank";
desc = "Cancel the yank status";
}
{
on = "d";
run = "remove";
desc = "Trash selected files";
}
{
on = "D";
run = "remove --permanently";
desc = "Permanently delete selected files";
}
{
on = "a";
run = "create";
desc = "Create a file (ends with / for directories)";
}
{
on = "r";
run = "rename --cursor=before_ext";
desc = "Rename selected file(s)";
}
{
on = ";";
run = "shell --interactive";
desc = "Run a shell command";
}
{
on = ":";
run = "shell --block --interactive";
desc = "Run a shell command (block until finishes)";
}
{
on = ".";
run = "hidden toggle";
desc = "Toggle the visibility of hidden files";
}
{
on = "s";
run = "search --via=fd";
desc = "Search files by name via fd";
}
{
on = "S";
run = "search --via=rg";
desc = "Search files by content via ripgrep";
}
{
on = "<C-s>";
run = "escape --search";
desc = "Cancel the ongoing search";
}
{
on = "z";
run = "plugin zoxide";
desc = "Jump to a directory via zoxide";
}
{
on = "Z";
run = "plugin fzf";
desc = "Jump to a file/directory via fzf";
}
{
on = [ "m" "s" ];
run = "linemode size";
desc = "Linemode: size";
}
{
on = [ "m" "p" ];
run = "linemode permissions";
desc = "Linemode: permissions";
}
{
on = [ "m" "b" ];
run = "linemode btime";
desc = "Linemode: btime";
}
{
on = [ "m" "m" ];
run = "linemode mtime";
desc = "Linemode: mtime";
}
{
on = [ "m" "o" ];
run = "linemode owner";
desc = "Linemode: owner";
}
{
on = [ "m" "n" ];
run = "linemode none";
desc = "Linemode: none";
}
{
on = [ "c" "c" ];
run = "copy path";
desc = "Copy the file path";
}
{
on = [ "c" "d" ];
run = "copy dirname";
desc = "Copy the directory path";
}
{
on = [ "c" "f" ];
run = "copy filename";
desc = "Copy the filename";
}
{
on = [ "c" "n" ];
run = "copy name_without_ext";
desc = "Copy the filename without extension";
}
{
on = "f";
run = "filter --smart";
desc = "Filter files";
}
{
on = "/";
run = "find --smart";
desc = "Find next file";
}
{
on = "?";
run = "find --previous --smart";
desc = "Find previous file";
}
{
on = "n";
run = "find_arrow";
desc = "Goto the next found";
}
{
on = "N";
run = "find_arrow --previous";
desc = "Goto the previous found";
}
{
on = [ "," "m" ];
run = [ "sort mtime --reverse=no" "linemode mtime" ];
desc = "Sort by modified time";
}
{
on = [ "," "M" ];
run = [ "sort mtime --reverse" "linemode mtime" ];
desc = "Sort by modified time (reverse)";
}
{
on = [ "," "b" ];
run = [ "sort btime --reverse=no" "linemode btime" ];
desc = "Sort by birth time";
}
{
on = [ "," "B" ];
run = [ "sort btime --reverse" "linemode btime" ];
desc = "Sort by birth time (reverse)";
}
{
on = [ "," "e" ];
run = "sort extension --reverse=no";
desc = "Sort by extension";
}
{
on = [ "," "E" ];
run = "sort extension --reverse";
desc = "Sort by extension (reverse)";
}
{
on = [ "," "a" ];
run = "sort alphabetical --reverse=no";
desc = "Sort alphabetically";
}
{
on = [ "," "A" ];
run = "sort alphabetical --reverse";
desc = "Sort alphabetically (reverse)";
}
{
on = [ "," "n" ];
run = "sort natural --reverse=no";
desc = "Sort naturally";
}
{
on = [ "," "N" ];
run = "sort natural --reverse";
desc = "Sort naturally (reverse)";
}
{
on = [ "," "s" ];
run = [ "sort size --reverse=no" "linemode size" ];
desc = "Sort by size";
}
{
on = [ "," "S" ];
run = [ "sort size --reverse" "linemode size" ];
desc = "Sort by size (reverse)";
}
{
on = [ "," "r" ];
run = "sort random --reverse=no";
desc = "Sort randomly";
}
{
on = [ "g" "h" ];
run = "cd ~";
desc = "Go home";
}
{
on = [ "g" "c" ];
run = "cd ~/.config";
desc = "Goto ~/.config";
}
{
on = [ "g" "d" ];
run = "cd ~/Downloads";
desc = "Goto ~/Downloads";
}
{
on = [ "g" "<Space>" ];
run = "cd --interactive";
desc = "Jump interactively";
}
{
on = "t";
run = "tab_create --current";
desc = "Create a new tab with CWD";
}
{
on = "1";
run = "tab_switch 0";
desc = "Switch to the first tab";
}
{
on = "2";
run = "tab_switch 1";
desc = "Switch to the second tab";
}
{
on = "3";
run = "tab_switch 2";
desc = "Switch to the third tab";
}
{
on = "4";
run = "tab_switch 3";
desc = "Switch to the fourth tab";
}
{
on = "5";
run = "tab_switch 4";
desc = "Switch to the fifth tab";
}
{
on = "6";
run = "tab_switch 5";
desc = "Switch to the sixth tab";
}
{
on = "7";
run = "tab_switch 6";
desc = "Switch to the seventh tab";
}
{
on = "8";
run = "tab_switch 7";
desc = "Switch to the eighth tab";
}
{
on = "9";
run = "tab_switch 8";
desc = "Switch to the ninth tab";
}
{
on = "[";
run = "tab_switch -1 --relative";
desc = "Switch to the previous tab";
}
{
on = "]";
run = "tab_switch 1 --relative";
desc = "Switch to the next tab";
}
{
on = "{";
run = "tab_swap -1";
desc = "Swap current tab with previous tab";
}
{
on = "}";
run = "tab_swap 1";
desc = "Swap current tab with next tab";
}
{
on = "w";
run = "tasks_show";
desc = "Show task manager";
}
{
on = "~";
run = "help";
desc = "Open help";
}
{
on = "<F1>";
run = "help";
desc = "Open help";
}
];
prepend_keymap = [
{
on = [ "g" "i" ];
run = "plugin lazygit";
desc = "run lazygit";
}
{
on = "l";
run = "plugin smart-enter";
desc = "Enter the child directory, or open the file";
}
];
};
tasks = {
keymap = [
{
on = "<Esc>";
run = "close";
desc = "Close task manager";
}
{
on = "<C-[>";
run = "close";
desc = "Close task manager";
}
{
on = "<C-c>";
run = "close";
desc = "Close task manager";
}
{
on = "w";
run = "close";
desc = "Close task manager";
}
{
on = "k";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "j";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Up>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<Down>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Enter>";
run = "inspect";
desc = "Inspect the task";
}
{
on = "x";
run = "cancel";
desc = "Cancel the task";
}
{
on = "~";
run = "help";
desc = "Open help";
}
{
on = "<F1>";
run = "help";
desc = "Open help";
}
];
};
spot = {
keymap = [
{
on = "<Esc>";
run = "close";
desc = "Close the spot";
}
{
on = "<C-[>";
run = "close";
desc = "Close the spot";
}
{
on = "<C-c>";
run = "close";
desc = "Close the spot";
}
{
on = "<Tab>";
run = "close";
desc = "Close the spot";
}
{
on = "k";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "j";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "h";
run = "swipe -1";
desc = "Swipe to the previous file";
}
{
on = "l";
run = "swipe 1";
desc = "Swipe to the next file";
}
{
on = "<Up>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<Down>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Left>";
run = "swipe -1";
desc = "Swipe to the next file";
}
{
on = "<Right>";
run = "swipe 1";
desc = "Swipe to the previous file";
}
{
on = [ "c" "c" ];
run = "copy cell";
desc = "Copy selected cell";
}
{
on = "~";
run = "help";
desc = "Open help";
}
{
on = "<F1>";
run = "help";
desc = "Open help";
}
];
};
pick = {
keymap = [
{
on = "<Esc>";
run = "close";
desc = "Cancel pick";
}
{
on = "<C-[>";
run = "close";
desc = "Cancel pick";
}
{
on = "<C-c>";
run = "close";
desc = "Cancel pick";
}
{
on = "<Enter>";
run = "close --submit";
desc = "Submit the pick";
}
{
on = "k";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "j";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Up>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<Down>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "~";
run = "help";
desc = "Open help";
}
{
on = "<F1>";
run = "help";
desc = "Open help";
}
];
};
input = {
keymap = [
{
on = "<C-c>";
run = "close";
desc = "Cancel input";
}
{
on = "<Enter>";
run = "close --submit";
desc = "Submit input";
}
{
on = "<Esc>";
run = "escape";
desc = "Go back the normal mode, or cancel input";
}
{
on = "<C-[>";
run = "escape";
desc = "Go back the normal mode, or cancel input";
}
{
on = "i";
run = "insert";
desc = "Enter insert mode";
}
{
on = "I";
run = [ "move first-char" "insert" ];
desc = "Move to the BOL, and enter insert mode";
}
{
on = "a";
run = "insert --append";
desc = "Enter append mode";
}
{
on = "A";
run = [ "move eol" "insert --append" ];
desc = "Move to the EOL, and enter append mode";
}
{
on = "v";
run = "visual";
desc = "Enter visual mode";
}
{
on = "r";
run = "replace";
desc = "Replace a single character";
}
{
on = "V";
run = [ "move bol" "visual" "move eol" ];
desc = "Select from BOL to EOL";
}
{
on = "<C-A>";
run = [ "move eol" "visual" "move bol" ];
desc = "Select from EOL to BOL";
}
{
on = "<C-E>";
run = [ "move bol" "visual" "move eol" ];
desc = "Select from BOL to EOL";
}
{
on = "h";
run = "move -1";
desc = "Move back a character";
}
{
on = "l";
run = "move 1";
desc = "Move forward a character";
}
{
on = "<Left>";
run = "move -1";
desc = "Move back a character";
}
{
on = "<Right>";
run = "move 1";
desc = "Move forward a character";
}
{
on = "<C-b>";
run = "move -1";
desc = "Move back a character";
}
{
on = "<C-f>";
run = "move 1";
desc = "Move forward a character";
}
{
on = "b";
run = "backward";
desc = "Move back to the start of the current or previous word";
}
{
on = "B";
run = "backward --far";
desc = "Move back to the start of the current or previous WORD";
}
{
on = "w";
run = "forward";
desc = "Move forward to the start of the next word";
}
{
on = "W";
run = "forward --far";
desc = "Move forward to the start of the next WORD";
}
{
on = "e";
run = "forward --end-of-word";
desc = "Move forward to the end of the current or next word";
}
{
on = "E";
run = "forward --far --end-of-word";
desc = "Move forward to the end of the current or next WORD";
}
{
on = "<A-b>";
run = "backward";
desc = "Move back to the start of the current or previous word";
}
{
on = "<A-f>";
run = "forward --end-of-word";
desc = "Move forward to the end of the current or next word";
}
{
on = "0";
run = "move bol";
desc = "Move to the BOL";
}
{
on = "$";
run = "move eol";
desc = "Move to the EOL";
}
{
on = "_";
run = "move first-char";
desc = "Move to the first non-whitespace character";
}
{
on = "^";
run = "move first-char";
desc = "Move to the first non-whitespace character";
}
{
on = "<C-a>";
run = "move bol";
desc = "Move to the BOL";
}
{
on = "<C-e>";
run = "move eol";
desc = "Move to the EOL";
}
{
on = "<Home>";
run = "move bol";
desc = "Move to the BOL";
}
{
on = "<End>";
run = "move eol";
desc = "Move to the EOL";
}
{
on = "<Backspace>";
run = "backspace";
desc = "Delete the character before the cursor";
}
{
on = "<Delete>";
run = "backspace --under";
desc = "Delete the character under the cursor";
}
{
on = "<C-h>";
run = "backspace";
desc = "Delete the character before the cursor";
}
{
on = "<C-d>";
run = "backspace --under";
desc = "Delete the character under the cursor";
}
{
on = "<C-u>";
run = "kill bol";
desc = "Kill backwards to the BOL";
}
{
on = "<C-k>";
run = "kill eol";
desc = "Kill forwards to the EOL";
}
{
on = "<C-w>";
run = "kill backward";
desc = "Kill backwards to the start of the current word";
}
{
on = "<A-d>";
run = "kill forward";
desc = "Kill forwards to the end of the current word";
}
{
on = "d";
run = "delete --cut";
desc = "Cut the selected characters";
}
{
on = "D";
run = [ "delete --cut" "move eol" ];
desc = "Cut until the EOL";
}
{
on = "c";
run = "delete --cut --insert";
desc = "Cut the selected characters, and enter insert mode";
}
{
on = "C";
run = [ "delete --cut --insert" "move eol" ];
desc = "Cut until the EOL, and enter insert mode";
}
{
on = "x";
run = [ "delete --cut" "move 1 --in-operating" ];
desc = "Cut the current character";
}
{
on = "y";
run = "yank";
desc = "Copy the selected characters";
}
{
on = "p";
run = "paste";
desc = "Paste the copied characters after the cursor";
}
{
on = "P";
run = "paste --before";
desc = "Paste the copied characters before the cursor";
}
{
on = "u";
run = "undo";
desc = "Undo the last operation";
}
{
on = "<C-r>";
run = "redo";
desc = "Redo the last operation";
}
{
on = "~";
run = "help";
desc = "Open help";
}
{
on = "<F1>";
run = "help";
desc = "Open help";
}
];
};
confirm = {
keymap = [
{
on = "<Esc>";
run = "close";
desc = "Cancel the confirm";
}
{
on = "<C-[>";
run = "close";
desc = "Cancel the confirm";
}
{
on = "<C-c>";
run = "close";
desc = "Cancel the confirm";
}
{
on = "<Enter>";
run = "close --submit";
desc = "Submit the confirm";
}
{
on = "n";
run = "close";
desc = "Cancel the confirm";
}
{
on = "y";
run = "close --submit";
desc = "Submit the confirm";
}
{
on = "k";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "j";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Up>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<Down>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "~";
run = "help";
desc = "Open help";
}
{
on = "<F1>";
run = "help";
desc = "Open help";
}
];
};
cmp = {
keymap = [
{
on = "<C-c>";
run = "close";
desc = "Cancel completion";
}
{
on = "<Tab>";
run = "close --submit";
desc = "Submit the completion";
}
{
on = "<Enter>";
run = [ "close --submit" "close_input --submit" ];
desc = "Submit the completion and input";
}
{
on = "<A-k>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<A-j>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Up>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<Down>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<C-p>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<C-n>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "~";
run = "help";
desc = "Open help";
}
{
on = "<F1>";
run = "help";
desc = "Open help";
}
];
};
help = {
keymap = [
{
on = "<Esc>";
run = "escape";
desc = "Clear the filter, or hide the help";
}
{
on = "<C-[>";
run = "escape";
desc = "Clear the filter, or hide the help";
}
{
on = "<C-c>";
run = "close";
desc = "Hide the help";
}
{
on = "k";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "j";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "<Up>";
run = "arrow -1";
desc = "Move cursor up";
}
{
on = "<Down>";
run = "arrow 1";
desc = "Move cursor down";
}
{
on = "f";
run = "filter";
desc = "Apply a filter for the help items";
}
];
};
}