commit 55351a5baaa56fa45c9b42a1eaf792ca07748eb0 parent a0526d7b168b33cb7294452ddafccdfde831af52 Author: Michael Neuper <73108749+michaelneuper@users.noreply.github.com> Date: Sat, 26 Nov 2022 16:26:18 +0200 Backup config Diffstat:
| A | .config/fish/config.fish.bak | | | 233 | +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ |
1 file changed, 233 insertions(+), 0 deletions(-)
diff --git a/.config/fish/config.fish.bak b/.config/fish/config.fish.bak @@ -0,0 +1,233 @@ +### ADDING TO THE PATH +# First line removes the path; second line sets it. Without the first line, +# your path gets massive and fish becomes very slow. +set -e fish_user_paths +set -U fish_user_paths $HOME/.local/bin $HOME/Applications $fish_user_paths + +### EXPORT ### +set fish_greeting # Supresses fish's intro message +set TERM "xterm-256color" # Sets the terminal type +set EDITOR "nvim" # $EDITOR use neovim in terminal +set VISUAL "notepadqq" # $VISUAL use notepadqq in GUI mode +set PATH "$HOME/.emacs.d/bin:$PATH" # Add doom emacs to the path + +### SET MANPAGER +### Uncomment only one of these! + +### "bat" as manpager +set -x MANPAGER "sh -c 'col -bx | bat -l man -p'" + +### "vim" as manpager +# set -x MANPAGER '/bin/bash -c "vim -MRn -c \"set buftype=nofile showtabline=0 ft=man ts=8 nomod nolist norelativenumber nonu noma\" -c \"normal L\" -c \"nmap q :qa<CR>\"</dev/tty <(col -b)"' + +### "nvim" as manpager +# set -x MANPAGER "nvim -c 'set ft=man' -" + +### SET EITHER DEFAULT EMACS MODE OR VI MODE ### +function fish_user_key_bindings + # fish_default_key_bindings + fish_vi_key_bindings +end +### END OF VI MODE ### + +### AUTOCOMPLETE AND HIGHLIGHT COLORS ### + +## One Dark Colors +set fish_color_normal '#c678dd' +set fish_color_autosuggestion '#abb2bf' +set fish_color_command '#56b6c2' +set fish_color_error '#e06c75' +set fish_color_param '#56b6c2' + +### FUNCTIONS ### + +function commits + git log --author="$argv" --format=format:%ad --date=short | uniq -c | awk '{print $1}' | spark | lolcat +end + +# Functions needed for !! and !$ +function __history_previous_command + switch (commandline -t) + case "!" + commandline -t $history[1]; commandline -f repaint + case "*" + commandline -i ! + end +end + +function __history_previous_command_arguments + switch (commandline -t) + case "!" + commandline -t "" + commandline -f history-token-search-backward + case "*" + commandline -i '$' + end +end +# The bindings for !! and !$ +if [ $fish_key_bindings = "fish_vi_key_bindings" ]; + bind -Minsert ! __history_previous_command + bind -Minsert '$' __history_previous_command_arguments +else + bind ! __history_previous_command + bind '$' __history_previous_command_arguments +end + +# Function for creating a backup file +# ex: backup file.txt +# result: copies file as file.txt.bak +function backup --argument filename + cp $filename $filename.bak +end + +# Function for copying files and directories, even recursively. +# ex: copy DIRNAME LOCATIONS +# result: copies the directory and all of its contents. +function copy + set count (count $argv | tr -d \n) + if test "$count" = 2; and test -d "$argv[1]" + set from (echo $argv[1] | trim-right /) + set to (echo $argv[2]) + command cp -r $from $to + else + command cp $argv + end +end + +# Function for printing a column (splits input on whitespace) +# ex: echo 1 2 3 | coln 3 +# output: 3 +function coln + while read -l input + echo $input | awk '{print $'$argv[1]'}' + end +end + +# Function for printing a row +# ex: seq 3 | rown 3 +# output: 3 +function rown --argument index + sed -n "$index p" +end + +# Function for ignoring the first 'n' lines +# ex: seq 10 | skip 5 +# results: prints everything but the first 5 lines +function skip --argument n + tail +(math 1 + $n) +end + +# Function for taking the first 'n' lines +# ex: seq 10 | take 5 +# results: prints only the first 5 lines +function take --argument number + head -$number +end + +### END OF FUNCTIONS ### + + +### ALIASES ### +# \x1b[2J <- clears tty +# \x1b[1;1H <- goes to (1, 1) (start) +# alias clear='echo -en "\x1b[2J\x1b[1;1H" ; echo; echo; seq 1 (tput cols) | sort -R | spark | lolcat; echo; echo' + +# Navigation +alias ..='cd ..' +alias ...='cd ../..' +alias .3='cd ../../..' +alias .4='cd ../../../..' +alias .5='cd ../../../../..' + +# Vim and emacs +alias vim='nvim' +alias v='nvim' +alias em='emacsclient -nw' + +# Change "ls" to "exa" +alias ls='exa -l --color=always --group-directories-first --no-user --no-time --icons' # my preferred listing +alias la='exa -al --color=always --group-directories-first --no-user --no-time --icons' # all files and dirs +alias ll='exa -l --color=always --group-directories-first --header --icons' # long format +alias lt='exa -aT --color=always --group-directories-first' # tree listing +alias l.='exa -a | egrep "^\."' + +# Change "cat" to "bat" +alias cat='bat' + +# Pacman and Paru +alias update='sudo pacman -Syu' # update only standard pkgs +alias pacsyyu='sudo pacman -Syyu' # Refresh pkglist & update standard pkgs +alias parsua='paru -Sua --noconfirm' # update only AUR pkgs (paru) +alias parsyu='paru -Syu --noconfirm' # update standard pkgs and AUR pkgs (paru) +alias unlock='sudo rm /var/lib/pacman/db.lck' # remove pacman lock +alias cleanup='sudo pacman -Rns (pacman -Qtdq)' # remove orphaned packages + +# get fastest mirrors +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" + +# Colorize grep output (good for log files) +alias grep='rg --color=auto' # change grep to ripgrep +alias egrep='egrep --color=auto' +alias fgrep='fgrep --color=auto' + +# confirm before overwriting something +# alias cp="cp -i" +# alias mv='mv -i' +# alias rm='rm -i' + +# adding flags +alias df='df -h' # human-readable sizes +alias free='free -m' # show sizes in MB +# alias lynx='lynx -cfg=~/.lynx/lynx.cfg -lss=~/.lynx/lynx.lss -vikeys' +alias paru='paru --bottomup' # list pkgs from the bottum up + +# Merge Xresources +alias merge='xrdb -merge ~/.Xresources' + +# git +alias addup='git add -u' +alias addall='git add .' +alias branch='git branch' +alias checkout='git checkout' +alias clone='git clone' +alias commit='git commit -m' +alias fetch='git fetch' +alias pull='git pull origin' +alias push='git push origin' +alias tag='git tag' +alias newtag='git tag -a' + +# get error messages from journalctl +alias jctl="journalctl -p 3 -xb" + +# gpg encryption +# verify signature for isos +alias gpg-check="gpg2 --keyserver-options auto-key-retrieve --verify" +# receive the key of a developer +alias gpg-retrieve="gpg2 --keyserver-options auto-key-retrieve --receive-keys" + +# youtube-dl +alias yta-best="youtube-dl --extract-audio --audio-format best " +alias yta-mp3="youtube-dl --extract-audio --audio-format mp3 " +alias ytv-best="youtube-dl -f bestvideo+bestaudio " + +# the terminal rickroll +alias rr='curl -s -L https://raw.githubusercontent.com/keroserene/rickrollrc/master/roll.sh | bash' + +# Useful aliases +alias np='notepadqq' # notepadqq +alias myip="curl http://ipecho.net/plain; echo" # get ip address +alias wa="tungsten" + +### RANDOM COLOR SCRIPT ### +# Install it from the AUR: shell-color-scripts +colorscript -e panes + +### SETTING THE STARSHIP PROMPT ### +starship init fish | source + +### ADD ICONS ### +source ~/.local/share/icons-in-terminal/icons.fish