Mercurial > dotfiles
changeset 261:217fba8117c8
Add zshrc file
author | zegervdv <zegervdv@me.com> |
---|---|
date | Sat, 23 May 2020 22:17:29 +0200 |
parents | 5fd0a7044f9f |
children | 44d179225271 |
files | dot_config/kitty/kitty.conf dot_zshrc |
diffstat | 2 files changed, 161 insertions(+), 0 deletions(-) [+] |
line wrap: on
line diff
--- a/dot_config/kitty/kitty.conf Fri May 22 11:22:24 2020 +0200 +++ b/dot_config/kitty/kitty.conf Sat May 23 22:17:29 2020 +0200 @@ -37,3 +37,5 @@ scrollback_lines 10000 selection_background #ffc24b + +clipboard_control write-primary write-clipboard no-append
--- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/dot_zshrc Sat May 23 22:17:29 2020 +0200 @@ -0,0 +1,159 @@ +# vim:ft=zsh + +export LC_ALL=$LANG + +PROMPT='%F{cyan}%T%f %F{red}%m%f %F{blue}%~%b%f +%j > ' + + +vim_ins_mode="%F{yellow}[INS]%f" +vim_cmd_mode="%F{green}[NRM]%f" +vim_mode=$vim_ins_mode + +function zle-keymap-select { + vim_mode="${${KEYMAP/vicmd/${vim_cmd_mode}}/(main|viins)/${vim_ins_mode}}" + zle reset-prompt +} +zle -N zle-keymap-select + +function zle-line-finish { + vim_mode=$vim_ins_mode +} +zle -N zle-line-finish + +function TRAPINT() { + vim_mode=$vim_ins_mode + return $(( 128 + $1 )) +} + +RPROMPT='${vim_mode}' + +zmodload -i zsh/complist + +bindkey -v + +export CLICOLOR=1 +export LS_COLORS='no=00;37:fi=00:di=00;33:ln=04;36:pi=40;33:so=01;35:bd=40;33;01:' + +# Options +setopt monitor +setopt auto_cd +setopt cdablevars +setopt pushd_ignore_dups +setopt interactive_comments +setopt append_history +setopt inc_append_history +setopt hist_ignore_dups +setopt hist_find_no_dups +setopt hist_reduce_blanks +setopt extended_history +setopt hist_expire_dups_first +setopt hist_verify +setopt share_history +setopt transient_rprompt +setopt prompt_subst +setopt multios +setopt correct_all +setopt autopushd +setopt pushdminus +setopt pushdsilent +setopt nobeep +setopt notify +REPORTTIME=5 + +HISTSIZE=3000 +SAVEHIST=3000 +HISTFILE=~/.zsh_history + +# Completion +setopt complete_in_word +setopt always_to_end +setopt auto_menu + +# activate color-completion +zstyle ':completion:*:default' list-colors ${(s.:.)LS_COLORS} + +# format on completion +zstyle ':completion:*:descriptions' format $'%{\e[0;31m%}completing %B%d%b%{\e[0m%}' + +# insert all expansions for expand completer +zstyle ':completion:*:expand:*' tag-order all-expansions +zstyle ':completion:*:history-words' list false + +# activate menu +zstyle ':completion:*:history-words' menu yes + +# ignore duplicate entries +zstyle ':completion:*:history-words' remove-all-dups yes +zstyle ':completion:*:history-words' stop yes + +zstyle ':completion:*:matches' group 'yes' +zstyle ':completion:*' group-name '' +if [[ "$NOMENU" -eq 0 ]] ; then + # if there are more than 5 options allow selecting from a menu + zstyle ':completion:*' menu select=5 +else + # don't use any menus at all + setopt no_auto_menu +fi + +zstyle ':completion:*:messages' format '%d' +zstyle ':completion:*:options' auto-description '%d' + +# describe options in full +zstyle ':completion:*:options' description 'yes' + +# complete manual by their section +zstyle ':completion:*:manuals' separate-sections true +zstyle ':completion:*:manuals.*' insert-sections true +zstyle ':completion:*:man:*' menu yes select + +# Search path for sudo completion +zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \ + /usr/local/bin \ + /usr/sbin \ + /usr/bin \ + /sbin \ + /bin \ + /usr/X11R6/bin + +# provide .. as a completion +zstyle ':completion:*' specal-dirs .. + +# case insensitive path-completion +zstyle ':completion:*' matcher-list 'm:{[:lower:][:upper:]}={[:upper:][:lower:]}' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' 'm:{[:lower:][:upper:]}={[:upper:][:lower:]} l:|=* r:|=*' + +# nvim completion +zstyle ':completion::*:nvim:*' ignored-patterns '*.(o|hex|elf|pyc|pdf|dup)' + +autoload -U compinit && compinit + +# fg when pressing Ctrl+Z +function fancy-ctrl-z () { + if [[ $#BUFFER -eq 0 ]]; then + if [[ $(jobs | wc -l) -gt 0 ]]; then + BUFFER='fg' + zle accept-line + fi + else + zle push-input + zle clear-screen + fi +} +zle -N fancy-ctrl-z +bindkey '^Z' fancy-ctrl-z + +# Aliases +alias l="ls -haltr --color" +alias ll="ls -haltr --color" +alias xclip='xclip -selection clipboard' + +# Exports +export XDG_CONFIG_HOME=$HOME/.config +export PATH=$HOME/bin:$PATH + +export EDITOR=nvim +export HGEDITOR=nvim + +[ -f ~/.fzf.zsh ] &&source ~/.fzf.zsh +export FZF_DEFAULT_COMMAND='ag -g ""'