2015-11-23 2 views
0

Я был очень взволнован о zsh, но я столкнулся с большой проблемой.название отрасли автозаполнения для mercurial в zsh

Автозаполнение для hg update не работает для меня. Я действительно включал zsh_completion файл (из нового источника ртутного) в моем .zshrc файле, как это (после переезда в домашний каталог):

fpath=("$HOME/.zsh_completion" $fpath) 
autoload -Uz compinit 
compinit 

Но это не похоже на работу. Я печатаю hg up def<tab> и никакого завершения не происходит.

Я также пробовал rm -f ~/.zcompdump; compinit и не помог. Я использую zsh 5.1.1 (x86_64-apple-darwin15.0.0) и oh-my-zsh.

Мой фактический .zshrc:

# Path to your oh-my-zsh installation. 
export ZSH=/Users/kayne/.oh-my-zsh 

# Set name of the theme to load. 
# Look in ~/.oh-my-zsh/themes/ 
# Optionally, if you set this to "random", it'll load a random theme each 
# time that oh-my-zsh is loaded. 
ZSH_THEME="robbyrussell" 
#ZSH_THEME="agnoster" 

# Uncomment the following line to use case-sensitive completion. 
# CASE_SENSITIVE="true" 

# Uncomment the following line to use hyphen-insensitive completion. Case 
# sensitive completion must be off. _ and - will be interchangeable. 
# HYPHEN_INSENSITIVE="true" 

# Uncomment the following line to disable bi-weekly auto-update checks. 
# DISABLE_AUTO_UPDATE="true" 

# Uncomment the following line to change how often to auto-update (in days). 
# export UPDATE_ZSH_DAYS=13 

# Uncomment the following line to disable colors in ls. 
# DISABLE_LS_COLORS="true" 

# Uncomment the following line to disable auto-setting terminal title. 
# DISABLE_AUTO_TITLE="true" 

# Uncomment the following line to enable command auto-correction. 
ENABLE_CORRECTION="true" 

# Uncomment the following line to display red dots whilst waiting for completion. 
# COMPLETION_WAITING_DOTS="true" 

# Uncomment the following line if you want to disable marking untracked files 
# under VCS as dirty. This makes repository status check for large repositories 
# much, much faster. 
# DISABLE_UNTRACKED_FILES_DIRTY="true" 

# Uncomment the following line if you want to change the command execution time 
# stamp shown in the history command output. 
# The optional three formats: "mm/dd/yyyy"|"dd.mm.yyyy"|"yyyy-mm-dd" 
# HIST_STAMPS="mm/dd/yyyy" 

# Would you like to use another custom folder than $ZSH/custom? 
# ZSH_CUSTOM=/path/to/new-custom-folder 

# Which plugins would you like to load? (plugins can be found in ~/.oh-my-zsh/plugins/*) 
# Custom plugins may be added to ~/.oh-my-zsh/custom/plugins/ 
# Example format: plugins=(rails git textmate ruby lighthouse) 
# Add wisely, as too many plugins slow down shell startup. 
plugins=(colored-man colorize ruby rails brew osx mercurial zsh-syntax-highlighting) 

# User configuration 

export PATH="$PATH:/Users/kayne/.rvm/gems/ruby-2.2.1/bin:/Users/kayne/.rvm/gems/[email protected]/bin:/Users/kayne/.rvm/rubies/ruby-2.2.1/bin:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin:/Users/kayne/.rvm/bin" 
# export MANPATH="/usr/local/man:$MANPATH" 

# PostgreSQL App 
export PATH="/Applications/Postgres93.app/Contents/MacOS/bin:$PATH" 

# This loads NVM 
[ -s $HOME/.nvm/nvm.sh ] && . $HOME/.nvm/nvm.sh 

fpath=("$HOME/.zsh_completion" $fpath) 
autoload -Uz compinit 
compinit 

source $ZSH/oh-my-zsh.sh 
# everything below is commented out 
+0

Вы запустили новую оболочку или перезагрузили .zshrc после того, как вы добавили ее в свой .zshrc, да? – planetmaker

+0

Конечно ... Я использовал 'source ~/.zshrc' и даже закрыл приложение терминала и снова открыл его. – Kayne

+0

Я не уверен, что это актуально, но я использую OS X 10.10, и я установил новую версию zsh через homebrew (просто 'brew install zsh'). – Kayne

ответ

0

Бинго! Я нашел проблему. У меня есть папка /usr/share/zsh/5.0.8/functions с файлом _hg. Это файл с некоторыми старыми функциями из другой версии zsh. Я предполагаю, что 5.0.8 был OS X 10.10 родной версией этой оболочки. Я установил 5.1.1 из homebrew. Но 5.0.8 Папка функций осталась - и он был добавлен в конце $fpath. Поэтому он перезаписал мой файл zsh_completion, путь которого был раньше в $fpath.

Итак, у меня есть последний вопрос. Безопасно ли удалять /usr/share/zsh/5.0.8/functions или даже /usr/share/zsh/5.0.8? Или лучше не трогать его ... по крайней мере, когда все работает?

+0

Измените свой '$ fpath', не трогайте эту установку. Вы должны делать что-то неправильно, если ''/usr/share/zsh/5.0.8/functions' появляется в '$ fpath' при запуске 5.1.1; его не должно быть по умолчанию. – 4ae1e1

+0

Хорошо, так что вы видите, теперь я в замешательстве. Потому что в моем '.zshrc' нет пути к'/usr/share/zsh/5.0.8/functions', и все же он появляется, когда я набираю 'echo $ fpath'. Где можно было бы отличить $ fpath от '.zshrc'? – Kayne

+0

Есть много возможностей. Попробуйте 'zsh -x' или' zsh -xl' и проверьте последовательность инициализации для присвоений 'fpath'. (Имейте в виду, что все не обязательно печатается.) – 4ae1e1

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