Терминал vim не загружается .zshrc

Моя конфигурация терминала vim не загружает ~/.zshrc. Zsh - оболочка входа в среду. Какова правильная конфигурация для этой ситуации?

Вот некоторые меры, которые я уже сделал, и после удаления:

set shell=zsh
(использует zsh как оболочку, но не создает rc)

set shellcmdflag=-ci
(все выходные приостановлены)

cat ~/.zshenv
$ source ~/.zshrc
(многие ошибки при открытии vim)

Ответ 1

Из руководства:

Commands  are  first  read from /etc/zshenv; this cannot be overridden.

[...]

Commands are then read from $ZDOTDIR/.zshenv. If the shell is a
login shell, commands are read from /etc/zprofile and then 
$ZDOTDIR/.zprofile. Then, if the shell is interactive, 
commands are read from /etc/zshrc and then $ZDOTDIR/.zshrc. Finally,
if the shell is a login shell, /etc/zlogin and $ZDOTDIR/.zlogin are
read.

Из того, что я понимаю,

set shell=zsh\ -i

должен работать.

Ответ 2

Принятый ответ не работает должным образом. Фактическое решение должно помещать псевдонимы и другие ~/.zshrc содержимое в ~/.zshenv. Единственное, что нужно в ~/.vimrc, это set shell=zsh без каких-либо флагов.

Ответ 3

Я нашел удобное решение. Единственное, что мне действительно нужно, это все мои псевдонимы, я добавил функцию в свой файл ~/.zshrc:

function zshalias()
{
  grep "^alias" ~/.zshrc > ~/.zshenv
}

Затем выполните source ~/.zshrc && zshalias.

В вашем vimrc вам нужно только:

shell=zsh

Все работает отлично, без приостановленного вывода tty!