dotfiles/zsh/.aliases
2025-04-29 09:41:32 -06:00

195 lines
4.9 KiB
Text

# ~/dotfiles/aliases.sh
# TMUX-RECON Aliases
# ----------------------------
# Clipboard (conditional on xsel or xclip)
# ----------------------------
if command -v xsel &> /dev/null; then
alias pbcopy='xsel --input --clipboard'
alias pbpaste='xsel --output --clipboard'
elif command -v xclip &> /dev/null; then
alias pbcopy='xclip -selection clipboard'
alias pbpaste='xclip -selection clipboard -o'
fi
# ----------------------------
# Basic Shortcuts
# ----------------------------
alias a='~/arsenal/run -t'
alias c='clear'
# alias h='history'
f() {
fd $1 -exec bat {} +
}
alias j='journalctl -f'
alias k='kill $(ps aux | fzf | awk '\''{print $2}'\'')'
# alias k9='kill -9 **'
alias nf='fzf -m --preview="bat --color=always --style=numbers --line-range:300 {}" --bind "enter:become(hx {})"'
alias up='sudo apt update && sudo apt upgrade -y'
alias v='fd --type f --hidden --exclude .git | fzf-tmux -p --reverse | xargs hx'
alias vp='fd --type f --hidden --exclude .git | fzf --preview "bat {1} --color=always --style=numbers" | xargs hx'
alias vv='hx $(fzf --preview="bat {} --color=always")'
alias xx='exit'
alias yy='yazi'
# --------------------------------------
# Navigation
# --------------------------------------
# alias ..='cd ..'
# alias ...='cd ../..'
# alias cdf='cd $(fd -t d | fzf)'
# alias cdi='zoxide query -i'
# ----------------------------
# File & Disk Utilities
# ----------------------------
alias batclip='bat $1 | xclip'
alias du='dust'
alias df='duf'
alias dl='yt-dlp -f best $1'
if [[ -n "$ZSH_VERSION" ]]; then
alias reload='source ~/.zshrc'
elif [[ -n "$BASH_VERSION" ]]; then
alias reload='source ~/.bashrc'
fi
tailb() {
tail -f $1 | bat --paging=never -l log
}
# --------------------------------------
# Search / Fuzzy Finder
# --------------------------------------
# alias f='fd -H -I -t f'
# f() { cd "$(find . -type d | fzf)" }
alias fzf="fzf --preview 'bat --color=always {}'"
# alias fzf="fzf --height 40% --layout reverse --border --preview 'bat --color=always {}' --preview-window '~3'"
alias ff='find * -type f | fzf'
# alias fd='fdfind' # Debian compatibility
# Press F1 to open the file with less without leaving fzf
# Press CTRL-Y to copy the line to clipboard and aborts fzf (requires pbcopy)
alias fo="fzf --bind 'f1:execute(less -f {}),ctrl-y:execute-silent(echo {} | pbcopy)+abort'"
alias psf="ps -ef |
fzf --bind 'ctrl-r:reload(ps -ef)' \
--header 'Press CTRL-R to reload' --header-lines=1 \
--height=50% --layout=reverse"
# List all commands or search through them
if [ -n "$ZSH_VERSION" ]; then
alias findcmd='command -v | fzf --prompt="Search command: "'
elif [ -n "$BASH_VERSION" ]; then
alias findcmd='compgen -c | sort -u | fzf --prompt="Search command: "'
fi
# alias findcmd='compgen -c | sort -u | fzf --prompt="Search command: "'
# alias allcmds='compgen -c | sort -u | fzf'
# ----------------------------
# Miscellaneous
# ----------------------------
help() {
if builtin help "$1" &>/dev/null; then
builtin help "$1" | bat --plain
else
"$@" --help 2>&1 | bat --plain
fi
}
# help() {
# "$@" --help 2>&1 | bat --plain --language=txt
# }
# alias shelp='builtin help | bat --plain --language=help'
# alias bathelp='bat --plain --language=help'
# help() {
# "$@" --help 2>&1 | bathelp
# }
# ----------------------------
# Conditional Fallbacks
# ----------------------------
# Debian-specific fix for fd
if ! command -v fd &> /dev/null && command -v fdfind &> /dev/null; then
alias fd='fdfind'
fi
# if command -v bat &> /dev/null; then
# alias cat="bat"
# elif command -v batcat &> /dev/null; then
# alias cat="batcat"
# fi
if command -v exa &> /dev/null; then
alias ls='exa'
alias l='exa -l'
alias lsl='exa --icons'
alias ll='exa -al --icons'
alias lt='exa -al --tree --level=3 --icons'
fi
if command -v eza &> /dev/null; then
alias lg='eza -l --icons --git -a'
fi
# Fallbacks if neither exa nor eza are found
if ! command -v exa &> /dev/null && ! command -v eza &> /dev/null; then
alias ls='ls --color=auto'
alias ll='ls -lah'
alias la='ls -A'
fi
if command -v rg &> /dev/null; then
alias rg='rg --smart-case'
alias rgl='rg --files | fzf'
fi
if command -v ag &> /dev/null; then
alias ags='ag --smart-case'
alias agf='ag -l | fzf'
fi
if command -v atuin &> /dev/null; then
alias h='atuin'
else
alias h='history | fzf'
fi
# Python as 'py' and pip
alias py='python3'
alias pip='python3 -m pip'
# --------------------------------------
# Networking & System Info
# --------------------------------------
alias xh='xh --style auto'
alias myip='curl ifconfig.me'
alias localip="ip a | grep inet"
alias ping='gping'
alias net='bandwhich'
alias sniff='sudo tcpdump -i any -n'
alias ports='ss -tuln'
alias psnet='sudo netstat -tulnp'
alias fire='sudo ufw status verbose'
alias logs='sudo tail -f /var/log/syslog'
alias chkports='sudo lsof -i -P -n | less'
unalias zi