Created
November 9, 2013 16:59
-
-
Save Osse/7387419 to your computer and use it in GitHub Desktop.
Debian /etc/zshrc
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
# /etc/zsh/zshrc: system-wide .zshrc file for zsh(1). | |
# | |
# This file is sourced only for interactive shells. It | |
# should contain commands to set up aliases, functions, | |
# options, key bindings, etc. | |
# | |
# Global Order: zshenv, zprofile, zshrc, zlogin | |
READNULLCMD=${PAGER:-/usr/bin/pager} | |
# An array to note missing features to ease diagnosis in case of problems. | |
typeset -ga debian_missing_features | |
if [[ -z "$DEBIAN_PREVENT_KEYBOARD_CHANGES" ]] && | |
[[ "$TERM" != 'emacs' ]] | |
then | |
typeset -A key | |
key=( | |
BackSpace "${terminfo[kbs]}" | |
Home "${terminfo[khome]}" | |
End "${terminfo[kend]}" | |
Insert "${terminfo[kich1]}" | |
Delete "${terminfo[kdch1]}" | |
Up "${terminfo[kcuu1]}" | |
Down "${terminfo[kcud1]}" | |
Left "${terminfo[kcub1]}" | |
Right "${terminfo[kcuf1]}" | |
PageUp "${terminfo[kpp]}" | |
PageDown "${terminfo[knp]}" | |
) | |
function bind2maps () { | |
local i sequence widget | |
local -a maps | |
while [[ "$1" != "--" ]]; do | |
maps+=( "$1" ) | |
shift | |
done | |
shift | |
sequence="${key[$1]}" | |
widget="$2" | |
[[ -z "$sequence" ]] && return 1 | |
for i in "${maps[@]}"; do | |
bindkey -M "$i" "$sequence" "$widget" | |
done | |
} | |
bind2maps emacs -- BackSpace backward-delete-char | |
bind2maps viins -- BackSpace vi-backward-delete-char | |
bind2maps vicmd -- BackSpace vi-backward-char | |
bind2maps emacs -- Home beginning-of-line | |
bind2maps viins vicmd -- Home vi-beginning-of-line | |
bind2maps emacs -- End end-of-line | |
bind2maps viins vicmd -- End vi-end-of-line | |
bind2maps emacs viins -- Insert overwrite-mode | |
bind2maps vicmd -- Insert vi-insert | |
bind2maps emacs -- Delete delete-char | |
bind2maps viins vicmd -- Delete vi-delete-char | |
bind2maps emacs viins vicmd -- Up up-line-or-history | |
bind2maps emacs viins vicmd -- Down down-line-or-history | |
bind2maps emacs -- Left backward-char | |
bind2maps viins vicmd -- Left vi-backward-char | |
bind2maps emacs -- Right forward-char | |
bind2maps viins vicmd -- Right vi-forward-char | |
# Make sure the terminal is in application mode, when zle is | |
# active. Only then are the values from $terminfo valid. | |
if (( ${+terminfo[smkx]} )) && (( ${+terminfo[rmkx]} )); then | |
function zle-line-init () { | |
emulate -L zsh | |
printf '%s' ${terminfo[smkx]} | |
} | |
function zle-line-finish () { | |
emulate -L zsh | |
printf '%s' ${terminfo[rmkx]} | |
} | |
zle -N zle-line-init | |
zle -N zle-line-finish | |
else | |
for i in {s,r}mkx; do | |
(( ${+terminfo[$i]} )) || debian_missing_features+=($i) | |
done | |
unset i | |
fi | |
unfunction bind2maps | |
fi # [[ -z "$DEBIAN_PREVENT_KEYBOARD_CHANGES" ]] && [[ "$TERM" != 'emacs' ]] | |
zstyle ':completion:*:sudo:*' command-path /usr/local/sbin \ | |
/usr/local/bin \ | |
/usr/sbin \ | |
/usr/bin \ | |
/sbin \ | |
/bin \ | |
/usr/X11R6/bin | |
(( ${+aliases[run-help]} )) && unalias run-help | |
autoload -Uz run-help |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment