diff --git a/modules/home/programs/nixvim/keymaps.nix b/modules/home/programs/nixvim/keymaps.nix index d3be2e9..19ce534 100755 --- a/modules/home/programs/nixvim/keymaps.nix +++ b/modules/home/programs/nixvim/keymaps.nix @@ -1,6 +1,11 @@ { programs.nixvim = { keymaps = [ + { + action = "ggG"; # select entire document + key = ""; + mode = "n"; + } { action = "ChatGPTEditWithInstructions"; key = "!egpt"; diff --git a/overlay/scripts/commands/viconf.nix b/overlay/scripts/commands/viconf.nix index d7a3dd5..c944dcc 100755 --- a/overlay/scripts/commands/viconf.nix +++ b/overlay/scripts/commands/viconf.nix @@ -3,9 +3,8 @@ pkgs.writeShellApplication { name = "viconf"; runtimeInputs = with pkgs; [ coreutils fd ripgrep fzf ]; text = '' - #!/usr/bin/env bash - - if [ ! $# -eq 1 ]; then + set -- "''${1:-}" + if [ ! $# -lt 1 ]; then results=$(find "$FLAKEPATH" -exec find {} \; | sort | uniq | rg '\.nix$') numresults=$(echo "$results" | wc -l) else @@ -20,10 +19,16 @@ pkgs.writeShellApplication { # cut up the paths to give shorter path names to fuzzy finder results_prefix=$(echo "$results" | tail -n 1 | cut -d'/' -f-3) results=$(echo "$results" | cut -d'/' -f4-) - results=$(echo "$results" | grep "$1") + if [ -n "$1" ]; then + results=$(echo "$results" | grep "$1") + fi file=$(echo "$results" | tr ' ' '\n' | fzf) - file="$results_prefix/$file" + if [ -n "$file" ]; then + file="$results_prefix/$file" + else + exit 1 + fi # Check if the file contains any non-UTF-8 characters if grep --color='auto' -P -q "[^\x00-\x7F]" "$file"; then