freebsd.zshrc
edited
1# zshrc for FreeBSD
2
3#-----------------------------------------------------------------------------
4# KEYBINDINGS
5#-----------------------------------------------------------------------------
6bindkey -v
7bindkey "^[[1~" beginning-of-line
8bindkey "^[[4~" end-of-line
9
10#-----------------------------------------------------------------------------
11# ENVIRONMENT VARS
12#-----------------------------------------------------------------------------
13export PAGER="less -X"
14export MANWIDTH="80"
15export MANROFFOPT="-c"
16export MANPAGER="less -X"
17export EDITOR="nvim"
18export TERM=xterm-256color
19
20HISTFILE="/home/jas/.zsh_history"
21HISTSIZE=100000
22SAVEHIST=65536
23setopt appendhistory
24setopt sharehistory
25
26# Have less display colors
27export LESS_TERMCAP_mb=$'\e[1;31m'
28export LESS_TERMCAP_md=$'\e[1;34m'
29export LESS_TERMCAP_so=$'\e[01;0;33m'
30export LESS_TERMCAP_us=$'\e[01;31m'
31export LESS_TERMCAP_me=$'\e[0m'
32export LESS_TERMCAP_se=$'\e[0m'
33export LESS_TERMCAP_ue=$'\e[0m'
34export GROFF_NO_SGR=1
35
36export LANG="en_US.UTF-8"
37export MANPATH="${MANPATH:-/usr/share/man:/usr/local/share/man}"
38export PATH="${HOME}/bin:${HOME}/.local/bin:${PATH}"
39
40#-----------------------------------------------------------------------------
41# ALIASES
42#-----------------------------------------------------------------------------
43
44# The ls family
45if ! command -v lsd >/dev/null; then
46 alias ls='ls -FG'
47else
48 alias ls='lsd'
49fi
50alias l='ls -lFhg'
51alias la='ls -A'
52alias ll='ls -l'
53alias lal='ls -lA'
54alias ldot='ls -gld .*'
55
56# Prompt user before overwriting files
57alias cp='cp -i'
58alias mv='mv -i'
59alias rm='rm -i'
60
61# Use neomutt for mail
62alias mail='neomutt'
63
64# Get public IP address
65alias pubip='curl -m 5 ipv4.icanhazip.com'
66
67# List apps with network connections
68alias netcons='lsof -i'
69
70# List ports
71alias tulp='ss -tulp'
72
73# List open ports
74alias openports='sudo lsof -i | grep LISTEN'
75
76# Ping google.com
77alias pong='ping -c 3 www.google.com'
78
79# List sockets in use
80alias sock="sudo sockstat -l"
81
82# git
83alias ga='git add'
84alias gcl='git clone'
85alias gcmsg='git commit -m'
86alias gd='git diff'
87alias gl='git pull'
88alias gp='git push'
89alias gr='git remote'
90alias grbi='git rebase -i'
91alias grm='git rm'
92alias grv='git remote -v'
93alias gst='git status'
94
95# ZFS
96alias zlsnas='sudo zfs list -S used | grep -v "zroot" | bat -p'
97alias zlsroot='sudo zfs list -S used | grep "zroot" | bat -p'
98alias zlsarch='sudo zfs list -S used | grep "naspool/archives" | bat -p'
99alias zlsnoarch='sudo zfs list -S used | grep "naspool" | grep -v "archives" | bat -p'
100alias zlssnap='sudo zfs list -t snap'
101alias zpls='sudo zpool list'
102alias zpio='sudo zpool iostat'
103
104# cd to ~ and clear screen
105alias rsrc='cd "${HOME}"/ && clear'
106
107# zsh-autosuggestions
108source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
109
110# zsh-syntax-highlighting
111source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
112
113# fzf
114eval "$(fzf --zsh)"
115
116# starship.rs
117eval "$(starship init zsh)"
118
119# display quickinfo
120if [ -f "${HOME}/bin/quickinfo" ]; then
121 quickinfo
122fi
123
124# vim: sw=4 sts=4 ts=4 ai et ft=zsh