X-Git-Url: https://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=d5bbfa0bae3c1623c460a42da9fb278eff7e995f;hb=5f0f906bd2a6d5d0f14094368089a69dfc6927ad;hp=1f8cdaa8cba388b5adf9a4459aafdca17df326a9;hpb=4a336083bc64bef499992eb9716184d6691f8cef;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 1f8cdaa..d5bbfa0 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -103,14 +103,6 @@ # *all* aliases, for example, use @@INSERT-aliases-all@@. #}}} -# Only load once -[[ ${(t)GRML} != *association* ]] && typeset -gA GRML -if (( ${GRML[ZSHRC_LOADED]} )); then - return 0 -else - GRML[ZSHRC_LOADED]=1 -fi - # zsh profiling {{{ # just execute 'ZSH_PROFILE_RC=1 zsh' and run 'zprof' to get the details if [[ $ZSH_PROFILE_RC -gt 0 ]] ; then @@ -625,14 +617,18 @@ bindkey "\e[1;5D" backward-word bindkey '^[[1;3C' forward-word bindkey '^[[1;3D' backward-word -bindkey '^xp' history-beginning-search-backward -bindkey '^xP' history-beginning-search-forward -bindkey "\e[5~" history-beginning-search-backward #PageUp -bindkey "\e[6~" history-beginning-search-forward #PageDown +# Search backward in the history for a line beginning with the current +# line up to the cursor and move the cursor to the end of the line then +zle -N history-beginning-search-backward-end history-search-end +zle -N history-beginning-search-forward-end history-search-end +bindkey '^xp' history-beginning-search-backward-end +bindkey '^xP' history-beginning-search-forward-end +bindkey "\e[5~" history-beginning-search-backward-end # PageUp +bindkey "\e[6~" history-beginning-search-forward-end # PageDown + # bindkey -s '^L' "|less\n" # ctrl-L pipes to less # bindkey -s '^B' " &\n" # ctrl-B runs it in the background - # insert unicode character # usage example: 'ctrl-x i' 00A7 'ctrl-x i' will give you an ยง # See for example http://unicode.org/charts/ for unicode characters code @@ -1301,7 +1297,7 @@ function info_print () { is4 && [[ $NOPRECMD -eq 0 ]] && precmd () { [[ $NOPRECMD -gt 0 ]] && return 0 # update VCS information - vcs_info + (( ${+functions[vcs_info]} )) && vcs_info if [[ $TERM == screen* ]] ; then if [[ -n ${vcs_info_msg_1_} ]] ; then @@ -2062,8 +2058,15 @@ if [[ -d /etc/init.d || -d /etc/service ]] ; then fi } + _grmlinitd() { + local -a scripts + scripts=( /etc/init.d/*(x:t) ) + _describe "service startup script" scripts + } + for i in Start Restart Stop Force-Reload Reload ; do eval "$i() { __start_stop $i \"\$1\" \"\$2\" ; }" + compdef _grmlinitd $i done fi