summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--dot-config/fish/conf.d/abbr.fish3
-rw-r--r--dot-config/fish/conf.d/pacman.abbr.fish68
-rw-r--r--dot-config/fish/functions/fish_user_key_bindings.fish25
3 files changed, 60 insertions, 36 deletions
diff --git a/dot-config/fish/conf.d/abbr.fish b/dot-config/fish/conf.d/abbr.fish
index 106c0a44..af1e952d 100644
--- a/dot-config/fish/conf.d/abbr.fish
+++ b/dot-config/fish/conf.d/abbr.fish
@@ -21,7 +21,7 @@ abbr -a fm ranger
alias cat "bat --plain --pager=never"
# alias grep='grep --color=auto'
-alias grep "rg --no-heading --with-filename --smart-case -F"
+alias grep "rg --no-heading --with-filename --smart-case --hyperlink-format=kitty -F"
alias mv "mv -v"
alias cp "cp --reflink=auto -vr"
alias rm "trash -v"
@@ -158,7 +158,6 @@ abbr -a map mapscii
# disk analyser
abbr -a diskana ncdu
# must run as root commands
-abbr -a sudo "sudo "
abbr -a root "/usr/bin/sudo -i"
abbr -a "*" sudo
abbr -a visudo "sudo visudo"
diff --git a/dot-config/fish/conf.d/pacman.abbr.fish b/dot-config/fish/conf.d/pacman.abbr.fish
index 8e146978..dd270bdc 100644
--- a/dot-config/fish/conf.d/pacman.abbr.fish
+++ b/dot-config/fish/conf.d/pacman.abbr.fish
@@ -5,17 +5,17 @@ abbr -a add-pacman-repository "sudo add-pacman-repository"
abbr -a downgrade "sudo downgrade"
# better pacman
#abbr -a pacman "paru"
-abbr -a pacman "yay "
+alias pacman "yay "
#abbr -a pacman "pamac"
#abbr -a pacman "sudo pacman"
#abbr -a apt "pamac" # idk there is a package called apt lmao
# full system upgrade/update
-abbr -a mirror "sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
-abbr -a mirrord "sudo reflector --latest 50 --number 20 --sort delay --save /etc/pacman.d/mirrorlist"
-abbr -a mirrors "sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
-abbr -a mirrora "sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
-# abbr -a update 'sudo npm update -g & nix-env -u & brew upgrade & flatpak update -y & tldr -u & yay -Syu --noconfirm --disable-download-timeout' # pipx upgrade-all
+alias mirror "sudo reflector -f 30 -l 30 --number 10 --verbose --save /etc/pacman.d/mirrorlist"
+alias mirrord "sudo reflector --latest 50 --number 20 --sort delay --save /etc/pacman.d/mirrorlist"
+alias mirrors "sudo reflector --latest 50 --number 20 --sort score --save /etc/pacman.d/mirrorlist"
+alias mirrora "sudo reflector --latest 50 --number 20 --sort age --save /etc/pacman.d/mirrorlist"
+# alias update 'sudo npm update -g & nix-env -u & brew upgrade & flatpak update -y & tldr -u & yay -Syu --noconfirm --disable-download-timeout' # pipx upgrade-all
# more pacman alis
alias packagelistignoreall 'paru --color always -Sl | sed -e "s: :/:; s/ unknown-version//; /已安装/d" | fzf --multi --ansi --preview "yay -Si {1}" | cut -d" " -f1 | xargs -ro yay -S'
@@ -23,24 +23,24 @@ alias package "paru --color always -Sl \
| fzf --multi --ansi --preview 'yay -Si {2}' \
| awk '{print $2}' \
| xargs -r yay -S --noconfirm"
-# abbr -a packagelist 'paru --color always -Sl | sed -e "s: :/:; /unknown-version/d" | fzf --multi --ansi --preview "yay -Si {1}" | cut -d" " -f1 | xargs -ro yay -S'
+# alias packagelist 'paru --color always -Sl | sed -e "s: :/:; /unknown-version/d" | fzf --multi --ansi --preview "yay -Si {1}" | cut -d" " -f1 | xargs -ro yay -S'
alias packagef "/usr/bin/cat /tmp/yaySl | cut -d' ' -f2 | fzf --multi --ansi --preview 'yay -Si {1}' | xargs -ro paru -S --skipreview --needed"
-abbr -a pi "pacman --noconfirm -S --needed"
-abbr -a pic "pacman --noconfirm -S --needed --ask 4"
-abbr -a pico "pacman --noconfirm -S --overwrite \"*\" --needed --ask 4"
-abbr -a picdep "pacman --noconfirm -Sd --needed --ask 4 --nodeps"
-abbr -a pidep "pacman --noconfirm -S --asdeps --needed"
-abbr -a pindep "pacman --noconfirm -Sd --nodeps"
-abbr -a pif "pacman --noconfirm --force -S --needed"
-abbr -a pifd "pacman -Sd --needed --nodeps"
-abbr -a pio "pacman --noconfirm -S --overwrite \"*\" --needed"
-abbr -a prio "pacman --noconfirm -S --overwrite \"*\""
-abbr -a priob "pacman --noconfirm -S --overwrite \"*\" --rebuild"
-#abbr -a ps "pacman --noconfirm -S --needed"
-abbr -a pr "pacman --noconfirm -Rns"
-abbr -a prndep "pacman --noconfirm -Rnsd --nodeps"
-abbr -a pri "pacman --noconfirm -S"
-abbr -a prib "pacman --noconfirm -S --rebuild"
+alias pi "pacman --noconfirm -S --needed"
+alias pic "pacman --noconfirm -S --needed --ask 4"
+alias pico "pacman --noconfirm -S --overwrite \"*\" --needed --ask 4"
+alias picdep "pacman --noconfirm -Sd --needed --ask 4 --nodeps"
+alias pidep "pacman --noconfirm -S --asdeps --needed"
+alias pindep "pacman --noconfirm -Sd --nodeps"
+alias pif "pacman --noconfirm --force -S --needed"
+alias pifd "pacman -Sd --needed --nodeps"
+alias pio "pacman --noconfirm -S --overwrite \"*\" --needed"
+alias prio "pacman --noconfirm -S --overwrite \"*\""
+alias priob "pacman --noconfirm -S --overwrite \"*\" --rebuild"
+#alias ps "pacman --noconfirm -S --needed"
+alias pr "pacman --noconfirm -Rns"
+alias prndep "pacman --noconfirm -Rnsd --nodeps"
+alias pri "pacman --noconfirm -S"
+alias prib "pacman --noconfirm -S --rebuild"
abbr -a pc "pacman -Scc"
abbr -a clean "pacman -Scc"
abbr -a pf "pacman --noconfirm "
@@ -52,14 +52,14 @@ abbr -a pd downgrade
#abbr -a p 'nocorrect p'
#abbr -a pacman 'nocorrect pacman'
-abbr -a pacin 'pacman -Slq | fzf -m --preview \'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")\' | xargs -ro sudo pacman -S'
-abbr -a paruin 'paru -Slq | fzf -m --preview \'cat <(paru -Si {1}) <(paru -Fl {1} | awk "{print \$2}")\' | xargs -ro paru -S'
-abbr -a pacrem 'pacman -Qq | fzf --multi --preview \'pacman -Qi {1}\' | xargs -ro sudo pacman -Rns'
-# abbr -a pac 'pacman -Q | fzf'
-abbr -a parucom "paru -Gc"
-abbr -a parupd "paru -Qua"
-abbr -a pacupd "pacman -Qu"
-abbr -a parucheck "paru -Gp"
-abbr -a cleanpac 'sudo pacman -Rns (pacman -Qtdq); and paru -c'
-abbr -a installed "grep -i installed /var/log/pacman.log"
-# abbr -a pacman "sudo pacman"
+alias pacin 'pacman -Slq | fzf -m --preview \'cat <(pacman -Si {1}) <(pacman -Fl {1} | awk "{print \$2}")\' | xargs -ro sudo pacman -S'
+alias paruin 'paru -Slq | fzf -m --preview \'cat <(paru -Si {1}) <(paru -Fl {1} | awk "{print \$2}")\' | xargs -ro paru -S'
+alias pacrem 'pacman -Qq | fzf --multi --preview \'pacman -Qi {1}\' | xargs -ro sudo pacman -Rns'
+# alias pac 'pacman -Q | fzf'
+alias parucom "paru -Gc"
+alias parupd "paru -Qua"
+alias pacupd "pacman -Qu"
+alias parucheck "paru -Gp"
+alias cleanpac 'sudo pacman -Rns (pacman -Qtdq); and paru -c'
+alias installed "grep -i installed /var/log/pacman.log"
+# alias pacman "sudo pacman"
diff --git a/dot-config/fish/functions/fish_user_key_bindings.fish b/dot-config/fish/functions/fish_user_key_bindings.fish
index df44927f..7b6e5e6a 100644
--- a/dot-config/fish/functions/fish_user_key_bindings.fish
+++ b/dot-config/fish/functions/fish_user_key_bindings.fish
@@ -1,3 +1,26 @@
+function toggle-sudo
+ set buf (commandline)
+
+ if test -z "$buf"
+ set last (history | head -n1)
+ if test -z "$last"
+ commandline -r "sudo "
+ return
+ end
+ set buf $last
+ end
+
+ if string match -rq '^\s*sudo(\s+|$)' -- $buf
+ set new (string replace -r '^\s*sudo\s*' '' -- $buf)
+ if test -z "$new"
+ commandline -r ""
+ return
+ end
+ commandline -r $new
+ else
+ commandline -r "sudo $buf"
+ end
+end
function fish_user_key_bindings
for m in default insert
bind -M $m ctrl-f accept-autosuggestion
@@ -5,7 +28,9 @@ function fish_user_key_bindings
end
for m in default insert normal
+ bind -M $m alt-left 'commandline -f cancel; cd -; commandline -f repaint'
bind -M $m alt-up 'commandline -f cancel; cd ..; commandline -f repaint'
+ bind -M $m ctrl-e toggle-sudo
bind -M $m ctrl-r history-pager
end