From 93d2743e3864e9eab0699b1bb1ea5f01c10bdbc1 Mon Sep 17 00:00:00 2001 From: Yaroslav Date: Mon, 23 Sep 2019 06:32:38 +0300 Subject: initial commit --- dotfiles/.zshrc | 112 ++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 112 insertions(+) create mode 100644 dotfiles/.zshrc (limited to 'dotfiles/.zshrc') diff --git a/dotfiles/.zshrc b/dotfiles/.zshrc new file mode 100644 index 0000000..5843369 --- /dev/null +++ b/dotfiles/.zshrc @@ -0,0 +1,112 @@ +# Colors and prompt +autoload -U colors && colors +if [[ -f /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh ]]; then + . /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh +fi + +autoload -Uz vcs_info +precmd_vcs_info() { vcs_info } +precmd_functions+=( precmd_vcs_info ) +setopt prompt_subst + +PROMPT=$'\n''%{%}%B%~ ${reset_color}%F{yellow}${vcs_info_msg_0_}%f'$'\n''%F{green}→%f ' +RPROMPT='%{%} %n%f@%F{red}%m%f' +zstyle ':vcs_info:git:*' formats ' %b' + +# Basic auto/tab complete: +autoload -U compinit +zstyle ':completion:*' menu select +zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS} +zstyle ':completion:*' completer _expand _complete _ignored _approximate +zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s' +zmodload zsh/complist +compinit +_comp_options+=(globdots) # Include hidden files. + +zstyle :compinstall filename '/home/yaroslav/.zshrc' + +# History +HISTFILE=~/.cache/zsh_history +HISTSIZE=10000 +SAVEHIST=10000 +setopt appendhistory autocd beep notify + +# vi mode +bindkey -v + +# 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 = 'underscore' ]]; then + echo -ne '\e[3 q' + elif [[ ${KEYMAP} == main ]] || + [[ ${KEYMAP} == viins ]] || + [[ ${KEYMAP} = '' ]] || + [[ $1 = 'beam' ]]; then + echo -ne '\e[5 q' + fi +} + +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. + +zle -N zle-keymap-select + +# Environment variables +typeset -U PATH path +path=("$HOME/.scripts" "$path[@]") +export PATH +export EDITOR="nvim" +export TERMINAL="termite" +export BROWSER="qutebrowser" + +# Generic shortcuts +alias music="ncmpcpp" +alias clock="ncmpcpp -s clock" +alias news="newsboat" +alias email="neomutt" +alias files="vifm_launch" +alias audio="ncpamixer" +alias calendar="calcurse" +alias calc="R --no-save" + +# Mounting drive shortcuts +alias mnt="udisksctl mount -b" +alias umnt="udisksctl unmount -b" +alias dlock="udisksctl lock -b" +alias dulock="udisksctl unlock -b" + +# Some aliases +alias v="nvim" +alias vf="vifm_launch" +alias nf="clear && neofetch" # Le Redditfetch +alias eslint="./node_modules/.bin/eslint" +alias ls='ls -hN --color=auto --group-directories-first' +weath() { curl wttr.in/$1 ;} # Check the weather (give city or leave blank). + +# Internet +alias yt="youtube-dl --add-metadata -ic" # Download video link +alias yta="youtube-dl --add-metadata -xic" # Download only audio +alias YT="youtube-viewer" +alias starwars="telnet towel.blinkenlights.nl" + +# Audio and Music +alias mute="lmc mute" +alias vu="lmc up" +alias vd="lmc down" +alias play="mpc toggle" +alias next="mpc next" +alias prev="mpc prev" +alias pause="mpc pause" +alias beg="mpc seek 0%" +alias lilbak="mpc seek -10" +alias lilfor="mpc seek +10" +alias bigbak="mpc seek -120" +alias bigfor="mpc seek +120" -- cgit v1.2.3