-
Notifications
You must be signed in to change notification settings - Fork 3
/
Copy path.zshrc
173 lines (148 loc) · 5.29 KB
/
.zshrc
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
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
#!/bin/sh
# conda
[ -f /opt/miniconda3/etc/profile.d/conda.sh ] && source /opt/miniconda3/etc/profile.d/conda.sh
# pathfinding
export NVM_DIR="$([ -z "${XDG_CONFIG_HOME-}" ] && printf %s "${HOME}/.nvm" || printf %s "${XDG_CONFIG_HOME}/nvm")"
[ -s "$NVM_DIR/nvm.sh" ] && \. "$NVM_DIR/nvm.sh" # This loads nvm
export PATH=$PATH:/home/revise/texlive/2022/bin/x86_64-linux
export PATH=$PATH:/home/revise/.cargo/bin
export PATH=$PATH:/home/revise/go/bin
export PATH=$PATH:/home/revise/.local/share/gem/ruby/3.0.0/bin
export PATH=$PATH:/home/revise/Documents/code/happy-hacking-gnu/bin
# plugin manager
[ -f "$HOME/.local/share/zap/zap.zsh" ] && source "$HOME/.local/share/zap/zap.zsh"
# plugins
plug "zsh-users/zsh-autosuggestions"
plug "hlissner/zsh-autopair"
plug "zap-zsh/vim"
plug "zap-zsh/fzf"
plug "zap-zsh/supercharge"
plug "zsh-users/zsh-syntax-highlighting"
# completion
# The following lines were added by compinstall
zstyle ':completion:*' completer _expand _complete _ignored _correct _approximate
zstyle ':completion:*' list-colors ''
# zstyle ':completion:*' list-prompt %SAt %p: Hit TAB for more, or the character to insert%s
zstyle ':completion:*' matcher-list '' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'r:|[._-.]=** r:|=**'
zstyle ':completion:*' max-errors 2 numeric
zstyle ':completion:*' use-cache on
zstyle ':completion:*' cache-path "$XDG_CACHE_HOME/zsh/.zcompcache"
zstyle ':completion:*' menu select=5
zstyle ':completion:*' select-prompt %SScrolling active: current selection at %p%s
zstyle :compinstall filename '/home/revise/.zshrc'
# completion
fpath=(/home/revise/.config/lf/ $fpath)
autoload -Uz compinit
compinit
# End of lines added by compinstall
FZF_DEFAULT_COMMAND="fd --type f --hidden --exclude .git | xargs nvim"
# history
HISTFILE=~/.histfile
HISTSIZE=100000
SAVEHIST=10000
setopt autocd
bindkey -e
# tlmgr
alias tlmgr='/usr/share/texmf-dist/scripts/texlive/tlmgr.pl --usermode'
# LSD
alias ls='lsd'
alias l='ls -l'
alias la='ls -a'
alias lla='ls -la'
alias tree='ls --tree'
# aliases
# get current sem
month="$(date +%m)"
year="$(date +%y)"
if [ $month -le 5 ]; then
sem="sp"
elif [ $month -ge 8 ]; then
sem="fa"
else
sem="su"
fi
export CURRENT_SEM="$sem$year"
# common places to go
alias clearcd="clear; cd"
alias home='cd ~'
alias root='cd /'
alias ..='cd ..'
alias ...='cd ..; cd ..'
alias ....='cd ..; cd ..; cd ..'
alias docs='cd ~/Documents/'
alias notesdir='cd ~/Documents/university/bachelor-3/$CURRENT_SEM/'
alias cs70="cd ~/Documents/university/teaching/"
alias plandir='cd ~/Documents/university/plan'
alias ccdir='cd ~/Documents/university/bachelor-3/current-course/'
alias books='cd ~/Downloads/Documents/books/'
alias math='cd ~/Documents/university/etc/math/'
alias texbook="cd ~/Documents/etc/tex/"
alias pwv3="cd ~/Documents/code/pwv3/"
alias ls-plugin="cd ~/Documents/code/luasnip-latex-snippets.nvim/"
alias emails="cd ~/Documents/university/scripts/emails/"
alias sboard="taskell ~/Documents/personal/boards/school.md"
alias tboard="taskell ~/Documents/personal/boards/training.md"
alias pboard="taskell ~/Documents/personal/boards/personal.md"
alias rlog="cd ~/Documents/personal/logs/"
alias edposts="nvim ~/Documents/university/teaching/ed.tex"
# git commands
alias g='git'
alias gst='git status'
alias lg='git log'
alias gau='git add -u'
alias gaa='git add .'
alias gcm='git commit -m'
alias gsh='git stash'
alias gl="git log"
alias gp="git push"
alias gpl="git pull"
# tlmgr
alias tlm="sudo env PATH='$PATH' tlmgr"
alias s="kitty +kitten ssh"
alias icat="kitty +kitten icat"
alias compile-lec="latexmk -pdflatex=lualatex -shell-escape -pdf"
# rc moment
alias bashrc="nvim ~/.bashrc"
alias zathurarc="nvim ~/.config/zathura/zathurarc"
alias vimdir="cd ~/.config/nvim/"
alias luasnip="cd ~/.config/nvim/lua/snippets/"
alias vimrc="nvim ~/.config/nvim/init.lua"
alias latexmkrc="nvim ~/.latexmkrc"
alias spellrc="nvim ~/.config/nvim/spell/en.utf-8.add"
alias preamble="nvim ~/texmf/tex/latex/styles/random.sty"
alias zshrc="nvim ~/dotfiles/.zshrc"
alias swhkdrc="nvim ~/dotfiles/swhkd/swhkdrc"
alias newsboatrc="nvim ~/.newsboat/config"
alias newsboaturls="nvim ~/.newsboat/urls"
alias muttrc="nvim ~/dotfiles/neomutt/neomuttrc"
# keybinds
bindkey '^I' complete-word # tab | complete
bindkey '^[[Z' end-of-line # shift + tab | autosuggest
# up down
autoload -U up-line-or-beginning-search
autoload -U down-line-or-beginning-search
zle -N up-line-or-beginning-search
zle -N down-line-or-beginning-search
bindkey "^[[A" up-line-or-beginning-search # ARROW_UP
bindkey "^[[B" down-line-or-beginning-search # ARROW_DOWN
bindkey '^[[H' beginning-of-line
bindkey '^[[F' end-of-line
export EDITOR="nvim"
export NVIM_APPNAME="nvim"
export OPENER=handlr
export TERMINAL="kitty"
export XDG_CURRENT_DESKTOP=Unity
export ADW_DISABLE_PORTAL=1
# git
source /usr/share/zsh/scripts/git-prompt.zsh
ZSH_THEME_GIT_PROMPT_PREFIX=" ("
ZSH_THEME_GIT_PROMPT_SUFFIX=")"
ZSH_THEME_GIT_PROMPT_BRANCH="%{$fg_bold[white]%}"
ZSH_THEME_GIT_PROMPT_TAG="%{$fg_bold[white]%}"
# prompt colors/styling!
PROMPT='%B%F{magenta}[%n:%f%F{blue}%(4~|../|)%3~%f%b$(gitprompt)%B%F{magenta}]%f%b ' # without hostname
# PROMPT='%B%F{magenta}[%n@%m:%f%F{blue}%(4~|../|)%3~%f%b$(gitprompt)%B%F{magenta}]%f%b ' # with hostname
RPROMPT='%B%F{red}%(0?||Exit code: %?)%f%b'
# syntax highlight
# zoxide!
eval "$(zoxide init --cmd cd zsh)"