92 lines
3.7 KiB
Text
92 lines
3.7 KiB
Text
# Personal Zsh configuration file. It is strongly recommended to keep all
|
|
# shell customization and configuration (including exported environment
|
|
# variables such as PATH) in this file or in files source by it.
|
|
#
|
|
# Documentation: https://github.com/romkatv/zsh4humans/blob/v5/README.md
|
|
|
|
zstyle ':z4h:' auto-update 'no'
|
|
zstyle ':z4h:' auto-update-days '28'
|
|
|
|
# tmux: integrated, system, no
|
|
zstyle ':z4h:' start-tmux 'no'
|
|
zstyle ':z4h:' prompt-at-bottom 'yes'
|
|
|
|
# keyboard setting
|
|
zstyle ':z4h:bindkey' keyboard 'pc'
|
|
|
|
zstyle ':z4h:autosuggestions' forward-char 'accept'
|
|
zstyle ':z4h:fzf-complete' recurse-dirs 'no'
|
|
|
|
# Enable ('yes') or disable ('no') automatic teleportation of z4h over
|
|
# ssh when connecting to these hosts.
|
|
#zstyle ':z4h:ssh:example-hostname1' enable 'yes'
|
|
zstyle ':z4h:ssh:*' enable 'no'
|
|
#zstyle ':z4h:ssh-agent:' start no
|
|
|
|
z4h install ohmyzsh/ohmyzsh || return
|
|
z4h install urbainvaes/fzf-marks || return
|
|
z4h install jreese/zsh-titles || return
|
|
|
|
# Install or update core components (fzf, zsh-autosuggestions, etc.) and
|
|
# initialize Zsh. After this point console I/O is unavailable until Zsh
|
|
# is fully initialized. Everything that requires user interaction or can
|
|
# perform network I/O must be done above. Everything else is best done below.
|
|
z4h init || return
|
|
|
|
# Export environment variables.
|
|
export GPG_TTY=$TTY
|
|
export SAVEHIST=200000
|
|
export HISTSIZE=200000
|
|
export HISTFILE=$HOME/.cache/zsh/history
|
|
export SPACEVIMDIR="$HOME/.config/spacevim/"
|
|
export FZF_MARKS_FILE=$HOME/.config/fzfmarks
|
|
export MANPAGER="sh -c 'col -bx | bat -l man -p'"
|
|
|
|
# Source additional local files if they exist.
|
|
z4h source $HOME/.config/local/env.zsh
|
|
|
|
# Source Files
|
|
z4h source $HOME/.config/zsh/sshagent.zsh
|
|
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/history.zsh
|
|
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/completion.zsh
|
|
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/directories.zsh
|
|
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/clipboard.zsh
|
|
z4h source $Z4H/ohmyzsh/ohmyzsh/lib/grep.zsh
|
|
z4h source $Z4H/ohmyzsh/ohmyzsh/plugins/command-not-found/command-not-found.plugin.zsh
|
|
z4h source $Z4H/urbainvaes/fzf-marks/fzf-marks.plugin.zsh
|
|
#zinit pack for ls_colors
|
|
|
|
# Aliases
|
|
z4h source $HOME/.config/zsh/aliases.zsh
|
|
z4h source $HOME/.config/local/aliases.zsh
|
|
|
|
# Add flags to existing aliases.
|
|
#alias ls="${aliases[ls]:-ls} -A"
|
|
|
|
# Define key bindings.
|
|
|
|
# Autoload functions.
|
|
|
|
# Define functions and completions.
|
|
function md() { [[ $# == 1 ]] && mkdir -p -- "$1" && cd -- "$1" }
|
|
compdef _directories md
|
|
|
|
# Fix SSH Completions
|
|
zstyle ':completion:*:*:*:users' ignored-patterns '*'
|
|
zstyle -e ':completion:*:(ssh|scp|sftp|rsh|rsync):hosts' hosts 'reply=(${=${${(f)"$(cat {/etc/ssh_,~/.ssh/known_}hosts(|2)(N) /dev/null)"}%%[# ]*}//,/ })'
|
|
zstyle ':completion:*:(scp|ssh):*' tag-order 'hosts:-host:host hosts:-domain:domain hosts:-ipaddr:ip\ address *'
|
|
zstyle ':completion:*:scp:*' group-order users files all-files hosts-domain hosts-host hosts-ipaddr
|
|
zstyle ':completion:*:ssh:*' group-order hosts-domain hosts-host users hosts-ipaddr
|
|
zstyle ':completion:*:*:*:hosts-host' ignored-patterns '*(.|:)*' loopback ip6-loopback localhost localhost4 localhost6 ip6-localhost broadcasthost
|
|
zstyle ':completion:*:*:*:hosts-domain' ignored-patterns '<->.<->.<->.<->' '^[-[:alnum:]]##(.[-[:alnum:]]##)##' '*@*' '*localdomain*' '*.eeleater.org' '*.local'
|
|
zstyle ':completion:*:*:*:hosts-ipaddr' ignored-patterns '^(<->.<->.<->.<->|(|::)([[:xdigit:].]##:(#c,2))##(|%*))' '127.0.0.<->' '255.255.255.255' '::1' 'fe80::*'
|
|
|
|
# Define named directories: ~w <=> Windows home directory on WSL.
|
|
[[ -z $z4h_win_home ]] || hash -d wsl=$z4h_win_home
|
|
|
|
# Set shell options: http://zsh.sourceforge.net/Doc/Release/Options.html
|
|
setopt multios
|
|
setopt prompt_subst
|
|
setopt inc_append_history
|
|
|
|
z4h source $HOME/.config/local/rc.zsh
|