2014-02-07 6 views
0

Запуск zsh + oh-my-zsh на моей установке cygwin. Всякий раз, когда я начинаю новый сеанс ZSH (новый mintty, tmux и т. Д.), Он выводит текст ниже. Я не думаю, что это влияет на производительность ZSH, но это SUPER раздражает.ZSH + OH-MY-ZSH нечетный текст при запуске (cygwin)

add-zsh-hook() { 
     emulate -L zsh 
     local -a hooktypes 
     hooktypes=(chpwd precmd preexec periodic zshaddhistory zshexit zsh_direc                                                 tory_name) 
     local usage="Usage: $0 hook function\nValid hooks are:\n $hooktypes" 
     local opt 
     local -a autoopts 
     integer del list help 
     while getopts "dDhLUzk" opt 
     do 
       case $opt in 
         (d) del=1 ;; 
         (D) del=2 ;; 
         (h) help=1 ;; 
         (L) list=1 ;; 
         ([Uzk]) autoopts+=(-$opt) ;; 
         (*) return 1 ;; 
       esac 
     done 
     shift $((OPTIND - 1)) 
     if ((list)) 
     then 
       typeset -mp "(${1:-${(@j:|:)hooktypes}})_functions" 
       return $? 
     elif ((help || $# != 2 || ${hooktypes[(I)$1]} == 0)) 
     then 
       print -u$((2 - help)) $usage 
       return $((1 - help)) 
     fi 
     local hook="${1}_functions" 
     local fn="$2" 
     if ((del)) 
     then 
       if ((${(P)+hook})) 
       then 
         if ((del == 2)) 
         then 
           set -A $hook ${(P)hook:#${~fn}} 
         else 
           set -A $hook ${(P)hook:#$fn} 
         fi 
         if ((! ${(P)#hook})) 
         then 
           unset $hook 
         fi 
       fi 
     else 
       if ((${(P)+hook})) 
       then 
         if ((${${(P)hook}[(I)$fn]} == 0)) 
         then 
           set -A $hook ${(P)hook} $fn 
         fi 
       else 
         set -A $hook $fn 
       fi 
       autoload $autoopts -- $fn 
     fi 
} 
compdump() { 
     # undefined 
     builtin autoload -XUz 
} 
compinit() { 
     emulate -L zsh 
     setopt extendedglob 
     typeset _i_dumpfile _i_files _i_line _i_done _i_dir _i_autodump=1 
     typeset _i_tag _i_file _i_addfiles _i_fail=ask _i_check=yes _i_name 
     while [[ $# -gt 0 && $1 = -[dDiuC] ]] 
     do 
       case "$1" in 
         (-d) _i_autodump=1 
           shift 
           if [[ $# -gt 0 && "$1" != -[dfQC] ]] 
           then 
             _i_dumpfile="$1" 
             shift 
           fi ;; 
         (-D) _i_autodump=0 
           shift ;; 
         (-i) _i_fail=ign 
           shift ;; 
         (-u) _i_fail=use 
           shift ;; 
         (-C) _i_check= 
           shift ;; 
       esac 
     done 
     typeset -gA _comps _services _patcomps _postpatcomps 
     typeset -gA _compautos 
     typeset -gA _lastcomp 
     if [[ -n $_i_dumpfile ]] 
     then 
       typeset -g _comp_dumpfile="$_i_dumpfile" 
     else 
       typeset -g _comp_dumpfile="${ZDOTDIR:-$HOME}/.zcompdump" 
     fi 
     typeset -ga _comp_options 
     _comp_options=(bareglobqual extendedglob glob multibyte nullglob rcexpan                                                 dparam unset NO_allexport NO_aliases NO_cshnullglob NO_cshjunkiequotes NO_errexi                                                 t NO_globsubst NO_histsubstpattern NO_ignorebraces NO_ignoreclosebraces NO_kshgl                                                 ob NO_ksharrays NO_kshtypeset NO_markdirs NO_octalzeroes NO_shwordsplit NO_shglo                                                 b NO_warncreateglobal) 
     typeset -g _comp_setup='local -A _comp_caller_options; 
      _comp_caller_options=(${(kv)options[@]}); 
      setopt localoptions localtraps ${_comp_options[@]}; 
      local IFS=$'\'\ \\t\\r\\n\\0\'' 
      exec </dev/null; 
      trap - ZERR 
      local -a reply 
      local REPLY' 
     typeset -ga compprefuncs comppostfuncs 
     compprefuncs=() 
     comppostfuncs=() 
     : $funcstack 
     compdef() { 
       local opt autol type func delete eval new i ret=0 cmd svc 
       local -a match mbegin mend 
       emulate -L zsh 
       setopt extendedglob 
       if ((! $#)) 
       then 
         print -u2 "$0: I need arguments" 
         return 1 
       fi 
       while getopts "anpPkKde" opt 
       do 
         case "$opt" in 
           (a) autol=yes ;; 
           (n) new=yes ;; 
           ([pPkK]) if [[ -n "$type" ]] 

[ограничен текст тела]

+0

Он выводит весь сценарий? – AlG

+0

Да, я не знаю, какой это сценарий, но это так. Мой код был усечен из-за ограничений персонажа в вопросах. @AlG –

+0

Похоже, что есть плохой режим и т. Д. Поэтому вместо запуска скрипта это просто кота. – AlG

ответ

2

я получил тот же самый вопрос. И вы можете посмотреть на cat ~/.zcompdump* я получил следующий вывод:

_comps=(
) 

_services=(
) 

_patcomps=(
) 

_postpatcomps=(
) 

_compautos=(
) 


autoload -Uz 

typeset -gUa _comp_assocs 
_comp_assocs=('') 

Это означает отказ в автозагрузку -UZ. Если вы введете autoload -Uz в zsh, вы получите точный результат. Если это проблема, вы можете исправить ее, исправив разрешения на доступ к каталогу.

compaudit | xargs chown -R :Users 
compaudit | xargs chmod g-w 
rm ~/.zcompdump* 

Чтобы убедиться, что compaudit ничего не выводит. Это сработало для меня и зафиксировало автоматическое завершение.

Ссылка на связанный с этим вопрос: https://github.com/robbyrussell/oh-my-zsh/issues/630

 Смежные вопросы

  • Нет связанных вопросов^_^