【问题标题】:iTerm2 startup command overwritten by user input, is there are better way to source ~/.zschrciTerm2 启动命令被用户输入覆盖,有没有更好的方法来获取 ~/.zschrc
【发布时间】:2020-01-24 01:05:26
【问题描述】:

自从 OSX 将默认 shell 更改为 zsh 我对 iTerm2 设置不满意。

最初我注意到当打开一个新的 shell 时我的 ~/.zschrc 文件没有被获取。

按照这里的指导

https://apple.stackexchange.com/questions/115598/how-to-set-an-iterm2-startup-command

这里

Why do you need to source .zshrc for every new shell in iTerm?

似乎解决方案将source ~/.zscshrc添加到以下内容

首选项 -> 配置文件 -> 选择默认配置文件(默认配置文件将加星标)-> 常规 -> Command -> 选择 Login Shell -> 在开始时发送文本

我已经使用这个解决方案好几个月了,经常觉得它很烦人,而且失败了。

当打开一个新终端时,我经常开始发出命令。

例如,假设我发出命令“remote”(ssh'ing 到远程机器的别名)

我发出的命令经常被 Send text at start 命令破坏,从而破坏了 .zschrc 和我的命令的来源。

这是我打开一个新终端并尝试发出命令的一些示例输出

Last login: Fri Jan 24 11:42:10 on ttys007
rsource ~/.zschrc
simon@Simons-MacBook-Pro ~ % rsource ~/.zschrc
zsh: command not found: rsource
xxxx@xxxxx-MacBook-Pro ~ % emote

在这里你可以看到我的“remote”命令中的“r”已经被 .zshrc 文件的来源弄乱了。

当我忙于一些紧急任务时,这种情况经常发生,有时会连续多次发生。

是否有其他人遇到此问题,是否有解决方案或更好的方法来获取我的 ~/.zschrc 文件?

【问题讨论】:

  • 要自动获取的文件是.zshrc,而不是.zschrc
  • 不确定谁先到这里,但我只能将其他回复标记为已接受的答案。不过还是谢谢。

标签: zsh iterm2 zshrc


【解决方案1】:

交互式 Zsh 在启动时获取文件 $ZDOTDIR/.zshrc,其中 ZDOTDIR 默认为您的主目录。如果您想获取不同的文件(在您的情况下名称为 .zschrc),请创建一个包含内容的文件 ~/.zshrc

. ~/.zschrc

【讨论】:

  • 我不知道我是怎么得到 .zschrc 文件名的。虽然我很高兴,但它让我很生气,有趣的是每次我去编辑文件时我都会输入 vim 。 zshrc 并感到恼火,因为我认为 zsh 将文件命名为奇怪!愚蠢的我不检查。
猜你喜欢
  • 1970-01-01
  • 2012-06-30
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2014-06-04
  • 2014-05-14
  • 2010-11-11
相关资源
最近更新 更多