X-Git-Url: http://git.grml.org/?a=blobdiff_plain;f=etc%2Fzsh%2Fzshrc;h=a3deefedcb5e06def3625142a631f0bcedae5bd7;hb=82c0c4a13a452d5f6581fa8b9863409f9a1afc64;hp=3fcbfcb2cd0fb36066058ae5b8db4d568116fb7f;hpb=e705ddd7c09db9ed34c0fe7c1e92b86a0fb50519;p=grml-etc-core.git diff --git a/etc/zsh/zshrc b/etc/zsh/zshrc index 3fcbfcb..a3deefe 100644 --- a/etc/zsh/zshrc +++ b/etc/zsh/zshrc @@ -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:' 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 @@ -1419,7 +1452,7 @@ grml_prompt_pre_default=( host '' jobs '%F{cyan}' newline '' - path '%b' + path '%B' percent '' rc '%F{red}' rc-always '' @@ -1440,7 +1473,7 @@ grml_prompt_post_default=( host '' jobs '%f' newline '' - path '%B' + path '%b' percent '' rc '%f' rc-always '' @@ -1462,7 +1495,7 @@ grml_prompt_token_default=( jobs '[%j running job(s)] ' newline $'\n' path '%40<..<%~%<< ' - percent '%% ' + percent '% # ' rc '%(?..%? )' rc-always '%?' sad-smiley '%(?..:()' @@ -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 from string under cursor or marked area zle -N inplaceMkDirs && bindkey '^xM' inplaceMkDirs