首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >终端vim未加载.zshrc

终端vim未加载.zshrc
EN

Stack Overflow用户
提问于 2012-07-10 22:22:46
回答 3查看 10.9K关注 0票数 17

我的终端vim配置没有加载~/.zshc。Zsh是环境登录shell。对于这种情况,正确的配置是什么?

以下是我已经采取并删除的一些措施:

set shell=zsh

(使用zsh作为shell,但不提供rc源代码)

set shellcmdflag=-ci

(所有输出暂停)

cat ~/.zshenv

$ source ~/.zshrc (打开vim时出现许多错误)

EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2012-07-10 22:56:13

从手册中:

命令首先从/etc/zshenv读取;这不能被覆盖。..。然后从$ZDOTDIR/.zshenv读取命令。如果shell是登录shell,则从/etc/zprofile读取命令,然后从$ZDOTDIR/.zprofile读取命令。然后,如果shell是交互式的,则从/etc/zshrc读取命令,然后从$ZDOTDIR/.zshrc读取命令。最后,如果shell是登录shell,则读取/etc/zlogin和$ZDOTDIR/.zlogin。

据我所知,

代码语言:javascript
复制
set shell=zsh\ -i

应该行得通。

票数 10
EN

Stack Overflow用户

发布于 2015-12-03 01:57:59

公认的答案并不像预期的那样有效。实际的解决方案应该是将别名和其他~/.zshrc内容放入~/.zshenv中。~/.vimrc中唯一需要的就是不带任何标志的set shell=zsh

票数 9
EN

Stack Overflow用户

发布于 2018-02-10 22:15:45

我找到了一个方便的解决方案。因为我真正需要的只是我的所有别名,所以我在~/.zshrc文件中添加了一个函数:

代码语言:javascript
复制
function zshalias()
{
  grep "^alias" ~/.zshrc > ~/.zshenv
}

然后执行source ~/.zshrc && zshalias

在你的vimrc中,你只需要:

代码语言:javascript
复制
shell=zsh

然后一切都可以完美地工作,没有暂停的tty输出!

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/11415428

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档