terminal vim not loading .zshrc

前端 未结 3 1662
我在风中等你
我在风中等你 2021-02-07 08:37

My terminal vim configuration is not loading the ~/.zshrc. Zsh is the environment login shell. What is the proper configuration for this situation?

Here are some measure

相关标签:
3条回答
  • 2021-02-07 09:22

    From the manual:

    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.
    

    From what I understand,

    set shell=zsh\ -i
    

    should work.

    0 讨论(0)
  • 2021-02-07 09:28

    I found an handy solution. As the only thing I really need is all my aliases, I added a function to my ~/.zshrc file:

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

    Then execute source ~/.zshrc && zshalias.

    In your vimrc you only need:

    shell=zsh
    

    Everything then works perfectly with no suspended tty output!

    0 讨论(0)
  • 2021-02-07 09:37

    The accepted answer doesn't work as expected. The actual solution should be putting the aliases and other ~/.zshrc content into ~/.zshenv. The only thing needed in ~/.vimrc is set shell=zsh without any flags.

    0 讨论(0)
提交回复
热议问题