zshrc: some fixes to make grml-gen-zshrefcard happy again
[grml-etc-core.git] / etc / zsh / zshrc
index 94420c7..a3deefe 100644 (file)
@@ -733,8 +733,8 @@ grml_toggle_abbrev() {
 }
 
 #k# Toggle abbreviation expansion on/off
-zle -N grml_toggle_abbrev
 bindkey '^xA' grml_toggle_abbrev
+zle -N grml_toggle_abbrev
 
 # add a command line to the shells history without executing it
 commit-to-history() {
@@ -1135,7 +1135,7 @@ if check_com -c screen || check_com -c tmux; then
         _screen_display_wordlist[${_screen_display_wordlist[(i)$PREFIX]}]=""
         compadd -a _screen_display_wordlist
     }
-    #k# complete word from currently visible GNU screen buffer
+    #m# k CTRL-x\,\,\,S Complete word from GNU screen buffer
     bindkey -r "^xS"
     compdef -k _complete_screen_display complete-word '^xS'
 fi
@@ -1348,8 +1348,9 @@ function prompt_grml_help () {
         - The attributes used with the items are customisable via strings
           used before and after the actual item.
 
-    The available items are: rc, rc-always, change-root, user, at, host, path,
-    vcs, percent, sad-smiley, battery.
+    The available items are: at, battery, change-root, date, grml-chroot,
+    history, host, jobs, newline, path, percent, rc, rc-always, sad-smiley,
+    shell-level, time, user, vcs
 
     The actual configuration is done via zsh's \`zstyle' mechanism. The
     context, that is used while looking up styles is:
@@ -1368,7 +1369,8 @@ function prompt_grml_help () {
 
         - items (list): The list of items used in the prompt. If \`vcs' is
           present in the list, the theme's code invokes \`vcs_info'
-          accordingly. Default: rc user change-root at host path vcs precent
+          accordingly. Default (left): rc change-root user at host path vcs
+          percent; Default (right): sad-smiley
 
     Available styles in 'items:<item>' are: pre, post. These are strings that
     are inserted before (pre) and after (post) the item in question. Thus, the
@@ -1383,6 +1385,37 @@ function prompt_grml_help () {
 __EOF0__
 }
 
+function prompt_grml-chroot_help () {
+    cat <<__EOF0__
+  prompt grml-chroot
+
+    This is a variation of the grml prompt, see: prompt -h grml
+
+    The main difference is the default value of the \`items' style. The rest
+    behaves exactly the same. Here are the defaults for \`grml-chroot':
+
+        - left: grml-chroot user at host path percent
+        - right: (empty list)
+__EOF0__
+}
+
+function prompt_grml-large_help () {
+    cat <<__EOF0__
+  prompt grml-large
+
+    This is a variation of the grml prompt, see: prompt -h grml
+
+    The main difference is the default value of the \`items' style. In
+    particular, this theme uses _two_ lines instead of one with the plain
+    \`grml' theme. The rest behaves exactly the same. Here are the defaults
+    for \`grml-chroot':
+
+        - left: rc jobs history shell-level change-root time date newline user
+                at host path vcs percent
+        - right: sad-smiley
+__EOF0__
+}
+
 function grml_prompt_setup () {
     emulate -L zsh
     autoload -Uz vcs_info
@@ -1410,66 +1443,66 @@ typeset -gA grml_prompt_pre_default \
             grml_prompt_token_default
 
 grml_prompt_pre_default=(
-    rc                '%F{red}'
-    rc-always         ''
-    change-root       ''
-    user              '%B%F{blue}'
     at                ''
+    battery           ' '
+    change-root       ''
+    date              '%F{blue}'
+    grml-chroot       '%F{red}'
+    history           '%F{green}'
     host              ''
-    path              '%b'
-    vcs               ''
+    jobs              '%F{cyan}'
+    newline           ''
+    path              '%B'
     percent           ''
+    rc                '%F{red}'
+    rc-always         ''
     sad-smiley        ''
-    battery           ' '
-    newline           ''
-    jobs              '%F{cyan}'
-    history           '%F{green}'
-    date              '%F{blue}'
-    time              '%F{blue}'
     shell-level       '%F{red}'
-    grml-chroot       '%F{red}'
+    time              '%F{blue}'
+    user              '%B%F{blue}'
+    vcs               ''
 )
 
 grml_prompt_post_default=(
-    rc                '%f'
-    rc-always         ''
-    change-root       ''
-    user              '%f%b'
     at                ''
+    battery           ''
+    change-root       ''
+    date              '%f'
+    grml-chroot       '%f '
+    history           '%f'
     host              ''
-    path              '%B'
-    vcs               ''
+    jobs              '%f'
+    newline           ''
+    path              '%b'
     percent           ''
+    rc                '%f'
+    rc-always         ''
     sad-smiley        ''
-    battery           ''
-    newline           ''
-    jobs              '%f'
-    history           '%f'
-    date              '%f'
-    time              '%f'
     shell-level       '%f'
-    grml-chroot       '%f '
+    time              '%f'
+    user              '%f%b'
+    vcs               ''
 )
 
 grml_prompt_token_default=(
-    rc                '%(?..%? )'
-    rc-always         '%?'
-    change-root       'debian_chroot'
-    user              '%n'
     at                '@'
+    battery           'PERCENT'
+    change-root       'debian_chroot'
+    date              '%D{%Y-%m-%d}'
+    grml-chroot       'GRML_CHROOT'
+    history           '{history#%!} '
     host              '%m '
+    jobs              '[%j running job(s)] '
+    newline           $'\n'
     path              '%40<..<%~%<< '
-    vcs               '0'
-    percent           '%% '
+    percent           '% # '
+    rc                '%(?..%? )'
+    rc-always         '%?'
     sad-smiley        '%(?..:()'
-    battery           'PERCENT'
-    newline           $'\n'
-    jobs              '[%j running job(s)] '
-    history           '{history#%!} '
-    date              '%D{%Y-%m-%d}'
-    time              '%D{%H:%M:%S} '
     shell-level       '%(3L.+ .)'
-    grml-chroot       'GRML_CHROOT'
+    time              '%D{%H:%M:%S} '
+    user              '%n'
+    vcs               '0'
 )
 
 function grml_typeset_and_wrap () {
@@ -2163,7 +2196,7 @@ sll() {
 #   PAGER='less -Mr' - If so, the use of $PAGER here needs fixing
 # with respect to wordsplitting. (ie. ${=PAGER})
 if check_com -c $PAGER ; then
-    #f1# View Debian's changelog of a given package
+    #f3# View Debian's changelog of a given package
     dchange() {
         emulate -L zsh
         if [[ -r /usr/share/doc/$1/changelog.Debian.gz ]] ; then
@@ -2187,7 +2220,7 @@ if check_com -c $PAGER ; then
     _dchange() { _files -W /usr/share/doc -/ }
     compdef _dchange dchange
 
-    #f1# View Debian's NEWS of a given package
+    #f3# View Debian's NEWS of a given package
     dnews() {
         emulate -L zsh
         if [[ -r /usr/share/doc/$1/NEWS.Debian.gz ]] ; then
@@ -2204,7 +2237,7 @@ if check_com -c $PAGER ; then
     _dnews() { _files -W /usr/share/doc -/ }
     compdef _dnews dnews
 
-    #f1# View Debian's copyright of a given package
+    #f3# View Debian's copyright of a given package
     dcopyright() {
         emulate -L zsh
         if [[ -r /usr/share/doc/$1/copyright ]] ; then
@@ -2217,7 +2250,7 @@ if check_com -c $PAGER ; then
     _dcopyright() { _files -W /usr/share/doc -/ }
     compdef _dcopyright dcopyright
 
-    #f1# View upstream's changelog of a given package
+    #f3# View upstream's changelog of a given package
     uchange() {
         emulate -L zsh
         if [[ -r /usr/share/doc/$1/changelog.gz ]] ; then
@@ -2588,7 +2621,7 @@ alias lsnewdir="ls -rthdl *(/om[1,10]) .*(D/om[1,10])"
 alias lsolddir="ls -rthdl *(/Om[1,10]) .*(D/Om[1,10])"
 
 # some useful aliases
-#a2# Remove current empty directory. Execute \kbd{cd ..; rmdir $OLDCWD}
+#a2# Remove current empty directory. Execute \kbd{cd ..; rmdir \$OLDCWD}
 alias rmcdir='cd ..; rmdir $OLDPWD || cd $OLDPWD'
 
 #a2# ssh with StrictHostKeyChecking=no \\&\quad and UserKnownHostsFile unset
@@ -2661,11 +2694,11 @@ cdt() {
 }
 
 #f5# Create directory under cursor or the selected area
-# Press ctrl-xM to create the directory under the cursor or the selected area.
-# To select an area press ctrl-@ or ctrl-space and use the cursor.
-# Use case: you type "mv abc ~/testa/testb/testc/" and remember that the
-# directory does not exist yet -> press ctrl-XM and problem solved
 inplaceMkDirs() {
+    # Press ctrl-xM to create the directory under the cursor or the selected area.
+    # To select an area press ctrl-@ or ctrl-space and use the cursor.
+    # Use case: you type "mv abc ~/testa/testb/testc/" and remember that the
+    # directory does not exist yet -> press ctrl-XM and problem solved
     local PATHTOMKDIR
     if ((REGION_ACTIVE==1)); then
         local F=$MARK T=$CURSOR
@@ -2692,6 +2725,7 @@ inplaceMkDirs() {
         zle end-of-line
     fi
 }
+
 #k# mkdir -p <dir> from string under cursor or marked area
 zle -N inplaceMkDirs && bindkey '^xM' inplaceMkDirs