blob: 4326232cd44eecd46a0d47f9e180a4f195f74d8d (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
|
# personal QOL functions
source_if_exists() {
[ -f "$1" ] && source "$1"
}
ensure_directory_and_file() {
[ ! -d "$1" ] && mkdir -p "$1"
[ ! -f "$2" ] && touch "$2"
}
source_if_exists ~/.config/shell/git-prompt.zsh
source_if_exists ~/.config/shell/git-prompts/kj_sh604.zsh
source_if_exists ~/.config/shell/zsh-autosuggestions/zsh-autosuggestions.zsh
source_if_exists ~/.config/shell/zsh-fast-syntax-highlighting/fast-syntax-highlighting.plugin.zsh
source_if_exists ~/.config/shell/zsh-history-substring-search/zsh-history-substring-search.zsh
# source personal posix functions
source_if_exists ~/.config/shell/posix-functions/create_POSIX_dotenv.sh
source_if_exists ~/.config/shell/posix-functions/POSIX_open.sh
ensure_directory_and_file ~/.local/state/shell ~/.local/state/shell/zsh_history
# configure history settings
HISTFILE=~/.local/state/shell/zsh_history
HISTSIZE=9999999
SAVEHIST=9999999
# aliases
# personal aliases
# alias echo=(command which echo)
# alias printf=(command which printf)
alias S="cd ~/.local/bin && ls"
alias c="cal"
alias d="disown"
alias dots="cd ~/.local/share/.dotfiles/"
alias egrep='grep -E'
alias fgrep='grep -F'
alias grep='grep --colour=auto'
alias guc="git reset --soft HEAD^"
alias ks="killall screen"
alias ls="ls --group-directories-first -h -p --color -F"
alias lzg="lazygit"
alias neofetch="alsi"
alias p="paru"
alias pu="paru -Syu --noconfirm"
alias s="screen"
alias sl="screen -ls"
alias sr="screen -r"
alias t="timedatectl"
alias w="curl wttr.in"
alias x="startx"
# conditionally alias cat to bat -p if bat is installed
command which bat >/dev/null 2>&1 && alias cat="bat -p"
# youtube-dl aliases
alias yt-best="youtube-dl -cif 'bestvideo+bestaudio/best'"
alias yt-m4a="youtube-dl -cif 'bestaudio[ext=m4a]'"
alias yt-mp4="youtube-dl -cif 'bestvideo[ext=mp4]+bestaudio[ext=m4a]/best[ext=mp4]/best'"
alias yt-webm="youtube-dl -cif 'bestvideo[ext=webm]+bestaudio[ext=webm]/best[ext=webm]/best'"
# pfetch stuff
export PF_INFO="ascii title os kernel uptime pkgs memory"
# initiate the prompt configuration with color support
autoload -Uz colors && colors
# load auto/tab completion and include hidden files
autoload -Uz compinit
zstyle ':completion:*' menu select
zmodload zsh/complist
compinit
_comp_options+=(globdots)
# opt-in for automatic directory navigation and disallow terminal freeze via ctrl-s
setopt AUTO_CD NO_FLOW_CONTROL
setopt INTERACTIVE_COMMENTS
# enable vi mode and setup keys for tab completion
bindkey -v
export KEYTIMEOUT=1
bindkey -M menuselect 'h' vi-backward-char
bindkey -M menuselect 'k' vi-up-line-or-history
bindkey -M menuselect 'l' vi-forward-char
bindkey -M menuselect 'j' vi-down-line-or-history
bindkey -v '^?' backward-delete-char
# edit line in vim with ctrl-e
autoload edit-command-line; zle -N edit-command-line
bindkey '^e' edit-command-line
bindkey -M vicmd '^[[P' vi-delete-char
bindkey -M vicmd '^e' edit-command-line
bindkey -M visual '^[[P' vi-delete
# cursor shape settings for vi modes
function zle-keymap-select() {
case $KEYMAP in
vicmd)
print -n '\e[2 q'
;;
viins|main)
print -n '\e[6 q'
;;
esac
}
zle -N zle-keymap-select
zle-line-init() {
zle -K viins
print -n "\e[6 q"
}
zle -N zle-line-init
print -n '\e[6 q'
# disable blinking cursor after each command execution
function disable_blinking_cursor() {
print -n '\e[0 q'
}
precmd_functions+=(disable_blinking_cursor)
disable_blinking_cursor
# less termcap variables (for colored man pages)
export LESS_TERMCAP_mb=$'\e[1;32m'
export LESS_TERMCAP_md=$'\e[1;32m'
export LESS_TERMCAP_me=$'\e[0m'
export LESS_TERMCAP_se=$'\e[0m'
export LESS_TERMCAP_so=$'\e[01;31m'
export LESS_TERMCAP_ue=$'\e[0m'
export LESS_TERMCAP_us=$'\e[1;4;33m'
bindkey "^f" forward-word
bindkey "^b" backward-word
bindkey "^[[A" history-substring-search-up
bindkey "^[[B" history-substring-search-down
bindkey -M vicmd "k" history-substring-search-up
bindkey -M vicmd "j" history-substring-search-down
|