17

ターミナルの vim 構成が ~/.zshrc をロードしていません。Zsh は環境ログイン シェルです。この状況に適した構成は何ですか?

以下は、私がすでに実施し、その後削除したいくつかの対策です。

set shell=zsh
(シェルとして zsh を使用しますが、rc をソースしません)

set shellcmdflag=-ci
(全出力停止)

cat ~/.zshenv
$ source ~/.zshrc
(vimを開くとエラーが多発)

4

3 に答える 3

10

マニュアルから:

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

動作するはずです。

于 2012-07-10T14:56:13.187 に答える
9

受け入れられた答えは期待どおりに機能しません。実際の解決策は、エイリアスやその他の~/.zshrcコンテンツを に配置すること~/.zshenvです。で必要なのは、フラグ~/.vimrcがないことだけです。set shell=zsh

于 2015-12-02T17:57:59.003 に答える
1

便利な解決策を見つけました。本当に必要なのはすべてのエイリアスだけなので、~/.zshrcファイルに関数を追加しました。

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

次に、実行しsource ~/.zshrc && zshaliasます。

あなたのvimrcでは、次のものだけが必要です:

shell=zsh

その後、中断された tty 出力なしですべてが完全に機能します!

于 2018-02-10T14:15:44.917 に答える