123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081 |
- # 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)"
- lf -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"
- 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
- # 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
|