1
0

initial commit

This commit is contained in:
2021-03-21 18:25:10 +03:00
parent 9d169e5321
commit 28231f278c
59 changed files with 1653 additions and 0 deletions

View 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
View 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
View 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
View 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