Marty Oehme
9669b061a3
Added alias that directly opens my vim notes index. Will only work with my own zettelkasten plugin, however.
140 lines
3.5 KiB
Bash
140 lines
3.5 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 vim="nvim"
|
|
alias vs="nvim -c 'ScratchPad'" # open an empty 'scratchpad' which simply disappears after use
|
|
alias vw="nvim -c \"lua require 'zettelkasten'.index_open()\"" # open to personal wiki
|
|
elif exist vim; then
|
|
alias v="vim"
|
|
else
|
|
alias v="vi"
|
|
alias vim="vi"
|
|
fi
|
|
# open notes with my vim zettelkasten plugin
|
|
alias vn='v +"lua require \"zettelkasten\".index_open()"'
|
|
|
|
# exit shell mimicks vim
|
|
alias :q="exit"
|
|
|
|
# ls defaults
|
|
if exist exa; then
|
|
alias l="exa -l --git --git-ignore --group-directories-first"
|
|
alias L="exa -hal --grid --git --group-directories-first"
|
|
# a recursive tree
|
|
# - usually want to change levels recursed with -L2 -L3 or similar
|
|
alias ll="exa --tree -L2 --group-directories-first"
|
|
alias LL="exa -a --tree -L2 --group-directories-first"
|
|
alias lla="exa --tree --group-directories-first"
|
|
alias LLA="exa -a --tree --group-directories-first"
|
|
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
|
|
elif exist pacman; then
|
|
fzf_pkg_tool=pacman
|
|
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}'
|
|
fi
|
|
|
|
# default image viewer
|
|
if exist imv-folder; then
|
|
iv() {
|
|
if [ "$#" -eq 1 ] && [ -f "$1" ]; then
|
|
imv-folder "$1"
|
|
else
|
|
imv "$@"
|
|
fi
|
|
}
|
|
else
|
|
for cmd in imv nsxiv vimiv sxiv feh; do
|
|
# shellcheck disable=SC2139
|
|
# since we *want* it defined at definition
|
|
if exist "$cmd"; then alias iv="$cmd"; break; fi
|
|
done
|
|
fi
|
|
|
|
# python
|
|
if exist ptipython; then
|
|
alias py=ptipython
|
|
elif exist ipython; then
|
|
alias py=ipython
|
|
elif exist python; then
|
|
alias py=python
|
|
fi
|
|
|
|
# distrobox
|
|
if exist distrobox; then
|
|
alias db=distrobox
|
|
fi
|
|
|
|
if exist sc-im; then
|
|
alias sc=sc-im
|
|
fi
|
|
|
|
if exist tidy-viewer; then
|
|
tv() {
|
|
tidy-viewer -a -e "$@" | less -S -R
|
|
}
|
|
fi
|