123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161 |
- # Enable colors and change prompt:
- autoload -U colors && colors
- PS1="%B%{$fg[red]%}[%{$fg[yellow]%}%n%{$fg[green]%}@%{$fg[blue]%}%M %{$fg[magenta]%}%~%{$fg[red]%}]%{$reset_color%}$%b "
- # History in cache directory:
- HISTSIZE=10000
- SAVEHIST=10000
- HISTFILE=~/.cache/zsh/history
- # Basic auto/tab complete:
- autoload -U compinit
- zstyle ':completion:*' menu select
- zmodload zsh/complist
- compinit
- _comp_options+=(globdots) # Include hidden files.
- # vi mode
- bindkey -v
- export KEYTIMEOUT=1
- # Use vim keys in tab complete menu:
- 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
- # Change cursor shape for different vi modes.
- function zle-keymap-select {
- if [[ ${KEYMAP} == vicmd ]] ||
- [[ $1 = 'block' ]]; then
- echo -ne '\e[1 q'
- elif [[ ${KEYMAP} == main ]] ||
- [[ ${KEYMAP} == viins ]] ||
- [[ ${KEYMAP} = '' ]] ||
- [[ $1 = 'beam' ]]; then
- echo -ne '\e[5 q'
- fi
- }
- zle -N zle-keymap-select
- zle-line-init() {
- zle -K viins # initiate `vi insert` as keymap (can be removed if `bindkey -V` has been set elsewhere)
- echo -ne "\e[5 q"
- }
- zle -N zle-line-init
- echo -ne '\e[5 q' # Use beam shape cursor on startup.
- preexec() { echo -ne '\e[5 q' ;} # Use beam shape cursor for each new prompt.
- # Use lf to switch directories and bind it to ctrl-o
- lfcd () {
- tmp="$(mktemp)"
- lfub -last-dir-path="$tmp" "$@"
- if [ -f "$tmp" ]; then
- dir="$(cat "$tmp")"
- rm -f "$tmp"
- [ -d "$dir" ] && [ "$dir" != "$(pwd)" ] && cd "$dir"
- fi
- }
- bindkey -s '^o' 'lfcd\n'
- # Edit line in vim with ctrl-e:
- autoload edit-command-line; zle -N edit-command-line
- bindkey '^e' edit-command-line
- # Load aliases and shortcuts if existent.
- [ -f "$HOME/.config/exportrc" ] && source "$HOME/.config/exportrc"
- [ -f "$HOME/.config/aliasrc" ] && source "$HOME/.config/aliasrc"
- [ -f "$HOME/.config/norisa.local" ] && source "$HOME/.config/norisa.local"
- if echo $USER | grep -q "miner"; then
- if cat /tmp/norisa/currently-mining | grep -q "0"; then
- echo "Start mining ..."
- echo "1" > /tmp/norisa/currently-mining
- nmine start
- fi
- fi
- # This is the list for lf icons:
- export LF_ICONS="di=📁:\
- fi=📃:\
- tw=🤝:\
- ow=📂:\
- ln=⛓:\
- or=❌:\
- ex=🎯:\
- *.txt=✍:\
- *.mom=✍:\
- *.me=✍:\
- *.ms=✍:\
- *.png=🖼:\
- *.webp=🖼:\
- *.ico=🖼:\
- *.jpg=📸:\
- *.jpe=📸:\
- *.jpeg=📸:\
- *.gif=🖼:\
- *.svg=🗺:\
- *.tif=🖼:\
- *.tiff=🖼:\
- *.xcf=🖌:\
- *.html=🌎:\
- *.xml=📰:\
- *.gpg=🔒:\
- *.css=🎨:\
- *.pdf=📚:\
- *.djvu=📚:\
- *.epub=📚:\
- *.csv=📓:\
- *.xlsx=📓:\
- *.tex=📜:\
- *.md=📘:\
- *.r=📊:\
- *.R=📊:\
- *.rmd=📊:\
- *.Rmd=📊:\
- *.m=📊:\
- *.mp3=🎵:\
- *.opus=🎵:\
- *.ogg=🎵:\
- *.m4a=🎵:\
- *.flac=🎼:\
- *.wav=🎼:\
- *.mkv=🎥:\
- *.mp4=🎥:\
- *.webm=🎥:\
- *.mpeg=🎥:\
- *.avi=🎥:\
- *.mov=🎥:\
- *.mpg=🎥:\
- *.wmv=🎥:\
- *.m4b=🎥:\
- *.flv=🎥:\
- *.zip=📦:\
- *.rar=📦:\
- *.7z=📦:\
- *.tar.gz=📦:\
- *.z64=🎮:\
- *.v64=🎮:\
- *.n64=🎮:\
- *.gba=🎮:\
- *.nes=🎮:\
- *.gdi=🎮:\
- *.1=ℹ:\
- *.nfo=ℹ:\
- *.info=ℹ:\
- *.log=📙:\
- *.iso=📀:\
- *.img=📀:\
- *.bib=🎓:\
- *.ged=👪:\
- *.part=💔:\
- *.torrent=🔽:\
- *.jar=♨:\
- *.java=♨:\
- "
- # fish-like zsh autosuggestions
- source /usr/share/zsh/plugins/zsh-autosuggestions/zsh-autosuggestions.zsh
- # Load zsh-syntax-highlighting; should be last.
- source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 2>/dev/null
|