Files
dotfiles/zsh/zsh_profile
2025-11-28 15:11:53 -08:00

77 lines
1.7 KiB
Plaintext

export XDG_CONFIG_HOME=$HOME/.config
export LANG=en_US.UTF-8
export LC_ALL=en_US.UTF-8
VIM="nvim"
# Dynamic SSH function for numbered hosts
sshto() {
if [[ "$1" =~ "^[0-9]+$" ]]; then
ssh "root@192.168.1.$1"
else
echo "Usage: sshto <number>"
echo "Example: sshto 12 → connects to root@192.168.1.12"
fi
}
# Keep your special VPS alias
alias sshvps="ssh root@188.245.217.208"
alias sshbsd="ssh root@66.94.127.104"
alias sshmodem="ssh -o HostKeyAlgorithms=ssh-rsa admin@172.16.0.1"
alias sshhome="ssh root@13.37.7.42"
alias sshsylvia="ssh root@13.37.7.13"
alias htb="sudo openvpn --config /etc/openvpn/client/htb.conf"
alias osrs="flatpak run com.jagexlauncher.JagexLauncher"
alias vwgermany="ssh -L 8080:localhost:4567 root@13.37.7.42"
# Navigation & listing
alias ls='eza --icons --group-directories-first'
alias ll='eza -al --icons --group-directories-first --git'
alias la='eza -a --icons --group-directories-first'
alias lt='eza -T --icons --group-directories-first'
alias tree='eza -T --icons --group-directories-first'
# File content
alias less='bat'
# Directory navigation
alias z='zoxide'
alias cdi='zoxide -i' # interactive
# Searching
alias grep='rg'
alias find='fd'
# Enhanced find with common options
alias fdi='fd -i' # case insensitive
alias fdh='fd -H' # include hidden files
# Disk usage
alias du='dust'
alias df='duf'
# Quick benchmarking
alias bench='hyperfine'
# Set neovim as default editor
export EDITOR='nvim'
export VISUAL='nvim'
# Alias vim to nvim if you want
alias vim='nvim'
# SSH host completion
zstyle ':completion:*:(ssh|scp|sftp):*' hosts $(grep -oP 'Host\s+\K.*' ~/.ssh/config 2>/dev/null)
plugins=(
git
archlinux
kitty
nmap
python
ssh
sudo
tmux
)