dotfiles/sh/.config/sh/alias
Marty Oehme c4612a04c1
fzf: Fix fzf for paru and remove default preview
The `nl` preview was still stuck in the default fzf options for a while
and does not work with most things that it is intended for. Removing it
is vastly preferable to the half useless preview window on any fzf
invocation.
A true default preview window may either be possible through a separate
script looking for the right command to invoke, or for individual fzf
invocations which then simple use the correct commands in the first
place (see e.g. `fzfyay`, or `fzfyayrns`).

`fzfyay` and `fzfyayrns` now also respect paru if it is installed on the
system. They will default to yay and fall back to paru.
2020-12-25 16:04:58 +01:00

85 lines
2 KiB
Bash

#!/usr/bin/env sh
#
# Global aliases for any shell
exist() { type "$1" >/dev/null 2>&1; }
# Avoid aliases which I did not create -- unalias EVERYTHING
unalias -a
# v shorthand for neovim
alias v="nvim"
# exit shell mimicks vim
alias :q="exit"
# ls defaults
if exist exa; then
alias l="exa -l --git --git-ignore"
alias L="exa -hal --grid --git"
# a recursive tree
# - usually want to change levels recursed with -L2 -L3 or similar
alias ll="exa --tree -L2"
alias LL="exa -a --tree -L2"
else
alias l="ls -lhF"
alias L="ls -lAhF"
fi
# cd defaults
alias ..="cd .."
alias ...="cd ../.."
alias ~="cd ~"
alias md="mkdir -p"
# clear my screen
alias cl="clear"
# Display current external ip address
alias myip="curl -s icanhazip.com"
# fzf
if exist fzf; then
# Display fuzzy-searchable history
alias fzfhistory="history 0 | fzf --tac --height 20"
fzfman() {
man "$(apropos --long "$1" | fzf | awk '{print $2, $1}' | tr -d '()')"
}
# Fuzzy search packages to install
if exist yay; then
fzf_pkg_tool=yay
elif exist paru; then
fzf_pkg_tool=paru
fi
# shellcheck disable=2139 # we *want* this to be done at shell startup instead of dynamically
if [ -n "$fzf_pkg_tool" ]; then
alias fzfyay="$fzf_pkg_tool -Slq | fzf -m --preview '$fzf_pkg_tool -Si {1}' | xargs -ro $fzf_pkg_tool -S"
# Fuzzy uninstall packages
alias fzfyayrns="$fzf_pkg_tool -Qeq | fzf -m --preview '$fzf_pkg_tool -Qi {1}' | xargs -ro $fzf_pkg_tool -Rns"
fi
unset fzf_pkg_tool
# ripgrep-all to fzf search through any documents
if exist rga; then
fzfrga() {
RG_PREFIX="rga --files-with-matches"
xdg-open "$(
FZF_DEFAULT_COMMAND="$RG_PREFIX '$1'" \
fzf --sort --preview="[[ ! -z {} ]] && rga --pretty --context 5 {q} {}" \
--phony -q "$1" \
--bind "change:reload:$RG_PREFIX {q}" \
--preview-window="70%:wrap"
)"
}
fi
fi
# vifm
if exist vifm; then
alias vm=vifm
alias vmm='vifm ${PWD}'
# enable picture preview script
exist vifmrun && alias vifm=vifmrun
fi