У меня есть следующий конфиг для Zsh, который я использую как на моем ноутбуке, так и на удаленном компьютере. У меня есть все мои конфигурационные файлы, помещенные в репозиторий git, который клонирован в ~/.zsh
и вставлен в ~
.
autoload -Uz promptinit
promptinit
HISTFILE=~/.histfile
HISTSIZE=1000
SAVEHIST=1000
setopt appendhistory autocd extendedglob nomatch notify
zstyle :compinstall filename '/home/pkhorsand/.zshrc'
autoload -Uz compinit
compinit -i -u -C
# load antigen
source $HOME/.zsh/antigen.zsh
# Load the oh-my-zsh's library.
antigen use oh-my-zsh
# Bundles from the default repo (robbyrussell's oh-my-zsh).
# antigen bundle git
antigen bundle heroku
# antigen bundle pip
# antigen bundle lein
# antigen bundle command-not-found
antigen bundle zsh-users/zsh-syntax-highlighting
# Load the theme.
antigen theme robbyrussell
antigen theme https://github.com/caiogondim/bullet-train-oh-my-zsh-theme bullet-train
# Tell Antigen that you're done.
antigen apply
BULLETTRAIN_VIRTUALENV_BG="green"
BULLETTRAIN_VIRTUALENV_PREFIX=""
BULLETTRAIN_GIT_COLORIZE_DIRTY=true
BULLETTRAIN_GIT_DIRTY=""
BULLETTRAIN_GIT_EXTENDED=false
BULLETTRAIN_GIT_CLEAN=""
BULLETTRAIN_PROMPT_ORDER=(
context
dir
virtualenv
git
time
)
source "$HOME/.zsh/.alias"
source "$HOME/.zsh/.profile.local"
На моем MacBook Pro работает zsh 5.3
(по умолчанию система), завершение истории команд работает правильно. Если я что-то наберу и нажму клавиши со стрелками, в моей истории будут циклически проходить команды, которые имеют префикс. Однако удаленный компьютер, на котором запущены Ubuntu 14.0
и zsh 5.5.1
(устанавливаются вручную, а не через apt
), просто циклически изменяет историю независимо от того, что я напечатал.
Я использую antigen
в качестве менеджера плагинов, источник которого также включен в один и тот же репозиторий (следовательно, обе установки используют одну и ту же версию). Это поведение действительно сбивает с толку, так как тот же самый .zshrc
должен подразумевать то же самое поведение, по моему мнению. Или это должно?
** Обновление: каталог site-functions
на моем Mac включает в себя пару записей для _brew
и _brew_cask
(это относительно новый компьютер, на котором установлено не так много), в то время как каталог на удаленном компьютере пуст.