Bruno BELANYI
36b3757e67
Mappings for vcs files, all files, buffers, buffer history, and tags have been added to the Vim configuration. The installation process automatically adds the fzf sourcing commands to both Bash and Zsh configuration files.
109 lines
3.6 KiB
Bash
Executable file
109 lines
3.6 KiB
Bash
Executable file
# History configuration
|
|
HISTFILE=~/.zhistory
|
|
HISTSIZE=10000
|
|
SAVEHIST=10000
|
|
|
|
# Allow for command substitution in PS1 to have a common prompt with bash
|
|
setopt promptsubst
|
|
# Append to history to avoid losing commands when multiple shells are open
|
|
setopt appendhistory
|
|
# Show an error when a globbing expansion doesn't find any match
|
|
setopt nomatch
|
|
# List on ambiguous completion and Insert first match immediately
|
|
setopt autolist menucomplete
|
|
# Don't add duplicates nor commands starting with a space to the history
|
|
setopt histignoredups histignorespace
|
|
# Use pushd when cd-ing around
|
|
setopt autopushd pushdminus pushdsilent
|
|
# Use single quotes in string without the weird escape tricks
|
|
setopt rcquotes
|
|
# Single word commands can resume an existing job
|
|
setopt autoresume
|
|
# Those options aren't wanted
|
|
unsetopt autocd beep extendedglob notify
|
|
|
|
# Use the emacs keybindings
|
|
bindkey -e
|
|
|
|
# Completion configuration
|
|
zstyle :compinstall filename '/home/ambroisie/.zshrc'
|
|
autoload -Uz compinit
|
|
compinit
|
|
|
|
# Import my profile on interactive shells
|
|
source ~/.profile
|
|
|
|
# Import my aliases
|
|
source ~/.aliases
|
|
|
|
# Import some useful functions
|
|
source ~/.functions
|
|
|
|
# Enable Shift-Tab to go backwards in completion list
|
|
bindkey '^[[Z' reverse-menu-complete
|
|
|
|
# Style the completion a bit
|
|
zstyle ':completion:*' list-colors ${(s.:.)LS_COLORS}
|
|
# Show a prompt on selection
|
|
zstyle ':completion:*' select-prompt '%SScrolling active: current selection at %p%s'
|
|
# Use arrow keys in completion list
|
|
zstyle ':completion:*' menu select
|
|
# Group results by category
|
|
zstyle ':completion:*' group-name ''
|
|
# Keep directories and files separated
|
|
zstyle ':completion:*' list-dirs-first true
|
|
## add colors to processes for kill completion
|
|
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#)*=0=01;31'
|
|
|
|
# match uppercase from lowercase
|
|
zstyle ':completion:*' matcher-list 'm:{a-z}={A-Z}'
|
|
|
|
# Filename suffixes to ignore during completion (except after rm command)
|
|
zstyle ':completion:*:*:(^rm):*:*files' ignored-patterns '*?.o' '*?.c~' \
|
|
'*?.old' '*?.pro'
|
|
|
|
# command for process lists, the local web server details and host completion
|
|
# on processes completion complete all user processes
|
|
zstyle ':completion:*:processes' command 'ps -au$USER'
|
|
|
|
# Completion formatting and messages
|
|
zstyle ':completion:*' verbose yes
|
|
zstyle ':completion:*:descriptions' format '%B%d%b'
|
|
zstyle ':completion:*:messages' format '%d'
|
|
zstyle ':completion:*:warnings' format 'No matches for: %d'
|
|
zstyle ':completion:*:corrections' format '%B%d (errors: %e)%b'
|
|
|
|
# SSH Completion
|
|
zstyle ':completion:*:scp:*' tag-order \
|
|
files users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
|
|
zstyle ':completion:*:scp:*' group-order \
|
|
files all-files users hosts-domain hosts-host hosts-ipaddr
|
|
zstyle ':completion:*:ssh:*' tag-order \
|
|
users 'hosts:-host hosts:-domain:domain hosts:-ipaddr"IP\ Address *'
|
|
zstyle ':completion:*:ssh:*' group-order \
|
|
hosts-domain hosts-host users hosts-ipaddr
|
|
|
|
# Hostname completion
|
|
# 1. All /etc/hosts hostnames are in autocomplete
|
|
# 2. If you have a comment in /etc/hosts like #%foobar.domain,
|
|
# then foobar.domain will show up in autocomplete!
|
|
zstyle ':completion:*' hosts $(awk '/^[^#]/ {print $2 $3" "$4" "$5}' /etc/hosts \
|
|
| grep -v ip6- && grep "^#%" /etc/hosts | awk -F% '{print $2}')
|
|
|
|
# fish-like syntax high-lighting for interactive commands
|
|
source /usr/share/zsh/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
|
|
|
|
# Display the computer's name in ASCII art
|
|
cat /etc/issue
|
|
|
|
# import my prompt
|
|
source ~/.zsh_prompt
|
|
|
|
# Export our directory to Termite for opening new terminals
|
|
if [[ $TERM == xterm-termite ]]; then
|
|
. /etc/profile.d/vte.sh
|
|
__vte_osc7
|
|
fi
|
|
|
|
[ -f ~/.fzf.zsh ] && source ~/.fzf.zsh
|