Marty Oehme
ebdfb17bb1
Prepending history with datestamps (which are already correctly saved in my shell history), so I know WHEN I last run a command (roughly) and can also search for the dates using `fzfhistory`.
92 lines
2.1 KiB
Bash
92 lines
2.1 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
|
|
if exist nvim; then
|
|
alias v="nvim"
|
|
alias vs="nvim -c 'ScratchPad'"
|
|
elif exist vim; then
|
|
alias v="vim"
|
|
else
|
|
alias v="vi"
|
|
fi
|
|
|
|
# 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 -l -E -D 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
|