initial commit
This commit is contained in:
43
.config/zsh/rc/completion.zsh
Normal file
43
.config/zsh/rc/completion.zsh
Normal file
@@ -0,0 +1,43 @@
|
||||
#!/bin/zsh
|
||||
|
||||
__z_compdump_verify
|
||||
|
||||
## :completion:<function-name>:<completer>:<command>:<argument>:<tag>
|
||||
|
||||
zstyle ':completion::complete:*' use-cache 1
|
||||
zstyle ':completion::complete:*' cache-path "${ZSHU[d_compcache]}"
|
||||
|
||||
bindkey -M menuselect '^o' accept-and-infer-next-history
|
||||
zstyle ':completion:*' menu select
|
||||
|
||||
zstyle ':completion:*' matcher-list 'm:{a-zA-Z}={A-Za-z}' 'r:|=*' 'l:|=* r:|=*'
|
||||
|
||||
zstyle ':completion:*' special-dirs true
|
||||
|
||||
zstyle ':completion:*:cd:*' tag-order local-directories directory-stack path-directories
|
||||
|
||||
zstyle ':completion:*:*:*:users' ignored-patterns adm amanda apache at avahi avahi-autoipd backup beaglidx bin bind cacti canna clamav colord daemon dbus distcache dnsmasq dovecot fax ftp games gdm gkrellmd gnats gopher hacluster haldaemon halt hplip hsqldb ident irc junkbust kdm ldap list lp mail mailman mailnull man messagebus mldonkey mysql nagios named netdump news nfsnobody nginx nobody nscd ntp ntpsec nut nx obsrun openvpn operator pcap polkitd postfix postgres privoxy proxy pulse pvm quagga radvd redsocks rpc rpcuser rpm rtkit saned sbuild sbws scard sddm shutdown speech-dispatcher squid sshd statd svn sync sys tcpdump tftp tss usbmux uucp uuidd vcsa wwwrun www-data x2gouser xfs '_*' 'systemd-*' 'debian-*' 'Debian-*'
|
||||
zstyle '*' single-ignored show
|
||||
|
||||
zstyle ':completion:*:*:*:*:processes' command "ps -u $USER -o pid,user,comm -w -w"
|
||||
zstyle ':completion:*:*:kill:*:processes' list-colors '=(#b) #([0-9]#) ([0-9a-z-]#)*=01;34=0=01'
|
||||
zstyle ':completion:*:kill:*' command 'ps -u $USER -o pid,%cpu,tty,cputime,cmd'
|
||||
|
||||
if autoload -Uz +X bashcompinit ; then
|
||||
bashcompinit && ZSHU[compdump_bash]=1
|
||||
fi
|
||||
|
||||
autoload -Uz +X compinit && \
|
||||
compinit -i -C -d "${ZSHU[f_compdump]}"
|
||||
|
||||
function {
|
||||
local i
|
||||
for i ( ${ZSHU[d_conf]}/completion/*.zsh(N.r) ) ; do
|
||||
source "$i"
|
||||
done
|
||||
for i ( ${ZSHU[d_conf]}/local/completion/*.zsh(N.r) ) ; do
|
||||
source "$i"
|
||||
done
|
||||
}
|
||||
|
||||
__z_compdump_finalize
|
148
.config/zsh/rc/keyboard.zsh
Normal file
148
.config/zsh/rc/keyboard.zsh
Normal file
@@ -0,0 +1,148 @@
|
||||
#!/bin/zsh
|
||||
|
||||
typeset -Uga ZSHU_TERM_MISSING
|
||||
typeset -A ZSHU_TI_KEYS
|
||||
typeset -A ZSHU_FB_KEYS
|
||||
|
||||
z-ti-test() {
|
||||
local r i
|
||||
r=0
|
||||
|
||||
for i ; do
|
||||
[ -z "$i" ] && continue
|
||||
if ! (( ${+terminfo[$i]} )) ; then
|
||||
ZSHU_TERM_MISSING+=( "$1" )
|
||||
r=1
|
||||
fi
|
||||
done
|
||||
|
||||
return $r
|
||||
}
|
||||
|
||||
if z-ti-test smkx rmkx ; then
|
||||
zle-line-init() { emulate -L zsh ; echoti smkx ; }
|
||||
zle-line-finish() { emulate -L zsh ; echoti rmkx ; }
|
||||
# zle-line-init() { echoti smkx ; }
|
||||
# zle-line-finish() { echoti rmkx ; }
|
||||
zle -N zle-line-init
|
||||
zle -N zle-line-finish
|
||||
fi
|
||||
|
||||
## key [sequence] via terminfo
|
||||
z-kseq-ti() {
|
||||
[ -z "$1" ] && return
|
||||
[ -z "$2" ] && return
|
||||
z-ti-test "$2" && ZSHU_TI_KEYS[${terminfo[$2]}]=$1
|
||||
}
|
||||
|
||||
## key [sequence] via fallback
|
||||
z-kseq-fb() {
|
||||
[ -z "$1" ] && return
|
||||
[ -z "$2" ] && return
|
||||
ZSHU_FB_KEYS[$2]=$1
|
||||
}
|
||||
|
||||
z-kseq-ti Backspace kbs
|
||||
|
||||
z-kseq-ti Home khome
|
||||
z-kseq-ti End kend
|
||||
z-kseq-ti Insert kich1
|
||||
z-kseq-ti Delete kdch1
|
||||
|
||||
z-kseq-ti Up kcuu1
|
||||
z-kseq-ti Down kcud1
|
||||
z-kseq-ti Left kcub1
|
||||
z-kseq-ti Right kcuf1
|
||||
|
||||
z-kseq-ti PageUp kpp
|
||||
z-kseq-ti PageDown knp
|
||||
|
||||
z-kseq-ti Shift-Tab kcbt
|
||||
|
||||
z-kseq-fb Backspace '^?'
|
||||
z-kseq-fb Home '^[[H'
|
||||
z-kseq-fb End '^[[F'
|
||||
z-kseq-fb Insert '^[[2~'
|
||||
z-kseq-fb Delete '^[[3~'
|
||||
z-kseq-fb Delete # '^[3;5~'
|
||||
|
||||
z-kseq-fb Up '^[[A'
|
||||
z-kseq-fb Down '^[[B'
|
||||
z-kseq-fb Left '^[[D'
|
||||
z-kseq-fb Right '^[[C'
|
||||
|
||||
z-kseq-fb PageUp '^[[5~'
|
||||
z-kseq-fb PageDown '^[[6~'
|
||||
|
||||
z-kseq-fb Ctrl-Delete '^[[3;5~'
|
||||
z-kseq-fb Ctrl-RightArrow '^[[1;5C'
|
||||
z-kseq-fb Ctrl-LeftArrow '^[[1;5D'
|
||||
|
||||
z-kseq-fb Esc-w '\ew'
|
||||
|
||||
z-bind () {
|
||||
local i sequence widget
|
||||
local -a maps
|
||||
|
||||
while [ "$1" != "--" ] ; do
|
||||
maps+=( "$1" )
|
||||
shift
|
||||
done
|
||||
shift
|
||||
|
||||
# sequence="$1"
|
||||
widget="$2"
|
||||
|
||||
local -Ua keys
|
||||
keys+=( ${(k)ZSHU_TI_KEYS[(r)$1]} )
|
||||
keys+=( ${(k)ZSHU_FB_KEYS[(r)$1]} )
|
||||
|
||||
[ ${#keys} -eq 0 ] && return 1
|
||||
|
||||
case "${widget}" in
|
||||
/*)
|
||||
widget=${widget:1}
|
||||
emulate zsh -c "autoload -RUz ${widget}"
|
||||
zle -N "${widget}"
|
||||
;;
|
||||
esac
|
||||
|
||||
for i in "${maps[@]}" ; do
|
||||
for k in "${keys[@]}" ; do
|
||||
bindkey -M "$i" "$k" "${widget}"
|
||||
done
|
||||
done
|
||||
}
|
||||
|
||||
z-bind emacs -- Backspace backward-delete-char
|
||||
z-bind viins -- Backspace vi-backward-delete-char
|
||||
z-bind vicmd -- Backspace vi-backward-char
|
||||
z-bind emacs -- Home beginning-of-line
|
||||
z-bind viins vicmd -- Home vi-beginning-of-line
|
||||
z-bind emacs -- End end-of-line
|
||||
z-bind viins vicmd -- End vi-end-of-line
|
||||
z-bind emacs viins -- Insert overwrite-mode
|
||||
z-bind vicmd -- Insert vi-insert
|
||||
z-bind emacs -- Delete delete-char
|
||||
z-bind viins vicmd -- Delete vi-delete-char
|
||||
z-bind emacs viins vicmd -- Up /up-line-or-beginning-search
|
||||
z-bind emacs viins vicmd -- Down /down-line-or-beginning-search
|
||||
z-bind emacs -- Left backward-char
|
||||
z-bind viins vicmd -- Left vi-backward-char
|
||||
z-bind emacs -- Right forward-char
|
||||
z-bind viins vicmd -- Right vi-forward-char
|
||||
z-bind emacs viins vicmd -- PageUp up-line-or-history
|
||||
z-bind emacs viins vicmd -- PageDown down-line-or-history
|
||||
|
||||
z-bind emacs viins vicmd -- Shift-Tab reverse-menu-complete
|
||||
|
||||
z-bind emacs viins vicmd -- Ctrl-Delete kill-word
|
||||
z-bind emacs -- Ctrl-RightArrow forward-word
|
||||
z-bind viins vicmd -- Ctrl-RightArrow vi-forward-word
|
||||
z-bind emacs -- Ctrl-LeftArrow backward-word
|
||||
z-bind viins vicmd -- Ctrl-LeftArrow vi-backward-word
|
||||
|
||||
z-bind emacs viins vicmd -- Esc-w kill-region
|
||||
|
||||
## use emacs key bindings
|
||||
bindkey -e
|
10
.config/zsh/rc/pager.zsh
Normal file
10
.config/zsh/rc/pager.zsh
Normal file
@@ -0,0 +1,10 @@
|
||||
#!/bin/zsh
|
||||
|
||||
PAGER=$(z-alt-find 'less|pager|more')
|
||||
if [ -n "${PAGER}" ] ; then
|
||||
export PAGER
|
||||
READNULLCMD=$(which "${PAGER}" | xargs -r readlink -e)
|
||||
else
|
||||
unset READNULLCMD
|
||||
unset NULLCMD
|
||||
fi
|
84
.config/zsh/rc/prompt.zsh
Normal file
84
.config/zsh/rc/prompt.zsh
Normal file
@@ -0,0 +1,84 @@
|
||||
#!/bin/zsh
|
||||
|
||||
# z-starship-init
|
||||
|
||||
## three-line prompt
|
||||
function {
|
||||
local -a line
|
||||
|
||||
line+="${ZSHU_PM[rst]}"
|
||||
line+="%B%F{black}┌[%b"
|
||||
line+="%F{yellow}%D{%y.%m.%d} %B%D{%H:%M:%S}%f%b"
|
||||
line+="%B%F{black}|%b"
|
||||
line+="${ZSHU_PM[user]}%F{white}@${ZSHU_PM[host]}"
|
||||
line+='${ZSHU_PS[elapsed]}'
|
||||
line+='${ZSHU_PS[status_extra]}'
|
||||
line+="${ZSHU_PM[rst]}"
|
||||
|
||||
line+="${ZSHU_PM[crlf]}"
|
||||
|
||||
line+="%B%F{black}┝%f%b "
|
||||
line+='${ZSHU_PS[pwd]:-${ZSHU_PS[pwd_std]}}'
|
||||
line+='${ZSHU_PS[pwd_extra]}'
|
||||
line+="${ZSHU_PM[rst]}"
|
||||
|
||||
line+="${ZSHU_PM[crlf]}"
|
||||
|
||||
line+="%B%F{black}└[%f%b"
|
||||
line+="${ZSHU_PS[lastcmd]}"
|
||||
line+="%B%F{black}|%b%f"
|
||||
line+="${ZSHU_PS[cmd]}"
|
||||
|
||||
ZSHU_PS[ps1_3L]="${(j::)line}"
|
||||
}
|
||||
|
||||
## two-line prompt
|
||||
function {
|
||||
local -a line
|
||||
local r
|
||||
|
||||
line+="${ZSHU_PM[rst]}"
|
||||
line+="%B%F{black}┌[%b"
|
||||
line+="${ZSHU_PM[user]}%F{white}@${ZSHU_PM[host]}"
|
||||
line+="%B%F{black}|%b"
|
||||
line+='${ZSHU_PS[pwd]:-${ZSHU_PS[pwd_std]}}'
|
||||
line+='${ZSHU_PS[pwd_extra]}'
|
||||
line+='${ZSHU_PS[elapsed]}'
|
||||
line+="${ZSHU_PM[rst]}"
|
||||
|
||||
line+="${ZSHU_PM[crlf]}"
|
||||
|
||||
line+="%B%F{black}└[%f%b"
|
||||
line+="${ZSHU_PS[lastcmd]}"
|
||||
line+="%B%F{black}|%b%f"
|
||||
line+='${ZSHU_PS[status_extra]}'
|
||||
line+="${ZSHU_PS[cmd]}"
|
||||
|
||||
ZSHU_PS[ps1_2L]="${(j::)line}"
|
||||
}
|
||||
|
||||
## one-line prompt
|
||||
function {
|
||||
local -a line
|
||||
|
||||
line+="${ZSHU_PM[rst]}"
|
||||
line+="${ZSHU_PS[lastcmd]}"
|
||||
line+="%B%F{black}|%b"
|
||||
line+="${ZSHU_PM[user]}"
|
||||
line+="%B%F{black}|%b"
|
||||
line+='${ZSHU_PS[pwd]:-${ZSHU_PS[pwd_std]}}'
|
||||
line+='${ZSHU_PS[pwd_extra]}'
|
||||
line+='${ZSHU_PS[elapsed]}'
|
||||
line+="%B%F{black}|%b"
|
||||
line+="${ZSHU_PS[cmd]}"
|
||||
|
||||
ZSHU_PS[ps1_1L]="${(j::)line}"
|
||||
}
|
||||
|
||||
ZSHU_PS[ps1_standard]=${ZSHU_PS[ps1_3L]}
|
||||
ZSHU_PS[ps1_nested]=${ZSHU_PS[ps1_2L]}
|
||||
|
||||
if [ "${ZSHU_RUN[nested]}" = 0 ]
|
||||
then PS1=${ZSHU_PS[ps1_standard]}
|
||||
else PS1=${ZSHU_PS[ps1_nested]}
|
||||
fi
|
Reference in New Issue
Block a user