From f49091e960f26b09f5aaeec2cc727da20500628d Mon Sep 17 00:00:00 2001 From: iFargle Date: Thu, 8 Feb 2024 14:32:46 +0900 Subject: [PATCH] Test --- home-manager/common/software/cli/nixvim.nix | 65 ++++++++++++++++++++- 1 file changed, 63 insertions(+), 2 deletions(-) diff --git a/home-manager/common/software/cli/nixvim.nix b/home-manager/common/software/cli/nixvim.nix index c05b4584..17c45487 100644 --- a/home-manager/common/software/cli/nixvim.nix +++ b/home-manager/common/software/cli/nixvim.nix @@ -11,6 +11,38 @@ globals.mapleader = " "; globals.maplocalleader = " "; + keymaps = let + map = mode: key: action: { mode = mode; key = key; action = action; }; + nmap = key: action: map [ "n" ] key action; + nvmap = key: action: map [ "n" "v" ] key action; + imap = key: action: map [ "i" ] key action; + desc = d: { options.desc = d; }; + silent = { options.silent = true; }; + expr = { options.expr = true; }; + in [ + # Unmap keys that aren't useful, or that we want to use for different things + (nvmap "" "" // silent) + (nvmap "" "" // silent) + (nvmap "s" "" // silent) + # Leave insert mode by pressing j and k simultaneously + (imap "jk" "") + (imap "kj" "") + # Redo + (nmap "R" "") + # Copy and paste + (nvmap "y" "\"+y" // desc "Cop[y] to clipboard") + (nvmap "p" "\"+p" // desc "[P]aste from clipboard") + # Jump to start/end of line + (nvmap "H" "0") + (nvmap "L" "$") + # Navigate up and down word wrapped text as if it were not word wrapped + (nmap "k" "v:count == 0 ? 'gk' : 'k'" // silent // expr) + (nmap "j" "v:count == 0 ? 'gj' : 'j'" // silent // expr) + # Center cursor when jumping foward or back + (nmap "" "zz") + (nmap "" "zz") + ]; + options = { number = true; shiftwidth = 2; @@ -38,8 +70,37 @@ telescope = { enable = true; - extensions = { - frecency.enable = true; + extensions.frecency.enable = true; + extensions.fzf-native.enable = true; + keymaps = { + "" = { + action = "find_files"; + desc = "Search files by name"; + }; + "ss" = { + action = "live_grep"; + desc = "[S]earch by live grep"; + }; + "sb" = { + action = "buffers"; + desc = "[S]earch open [B]uffers by file name"; + }; + "sh" = { + action = "help_tags"; + desc = "[S]earch [H]elp"; + }; + "sw" = { + action = "grep_string"; + desc = "[S]earch for [W]ord under cursor"; + }; + "sg" = { + action = "buffers"; + desc = "[S]earch [G]it files"; + }; + "sr" = { + action = "oldfiles"; + desc = "[S]earch [R]ecently opened files by name"; + }; }; };