【问题标题】:New fish session on iTerm2 get (standard_in) 1: parse erroriTerm2 上的新鱼会话 get (standard_in) 1:解析错误
【发布时间】:2018-10-31 00:09:33
【问题描述】:

我最近将 iTerm2 更新到版本 3.2.4,然后更新到 3.2.5,每次我开始新的 fish 会话时都会收到 (standard_in) 1: parse error。 (在这两个版本上 - 以前的版本都没有)。

我使用fortune -a -s 作为问候语,不认为这是错误的原因。

我的fish版本是2.7.1

重命名 config.fish 文件,“解决”了错误!我相信真正的问题在于 init.fish

我的 config.fish 文件:

set -gx OMF_PATH /Users/<my-user>/.local/share/omf
set -gx OMF_CONFIG /Users/<my-user>/.config/omf
source $OMF_PATH/init.fish
set -g fish_prompt_pwd_dir_length 5

我的 init.fish 文件从未更改过,因此该文件仍与原始文件相同:init.fish

【问题讨论】:

  • 数据不足。但一种可能性是你正在做类似cmd_that_produces_posix_shell_output | source 的事情。此外,如果您启用了 iTerm shell 集成,那么禁用它是否会使问题消失?如果你暂时重命名你的 ~/.config/fish 目录怎么办?
  • @KurtisRader 我没有外壳集成。我已经用你的建议更新了我的问题。提前谢谢!
  • 我认为问题更可能出在 OMF 插件上,而不是 OMF 代码本身。您可以一次禁用每个插件以查明哪个是导致错误的原因吗?
  • @KurtisRader 你是对的!造成这种情况的是一个名为 battery 的包。我卸载了它,因为我不使用它。问题解决了!谢谢!
  • 我投票决定将此问题作为离题结束,因为该问题已在 cmets 中得到解答。

标签: fish iterm2


【解决方案1】:

我遇到了类似的问题,虽然它并没有影响我开始制作鱼壳。但是,我相信类似的结果是相关的。当我在某些位置添加引号并使用括号分隔要扩展的变量时,然后将其余字符串附加到它似乎有效。在您的情况下,尝试像这样编辑 config.fish:

set -gx OMF_PATH "/Users/anonirato/.local/share/omf"
set -gx OMF_CONFIG "/Users/anonirato/.config/omf"
source "{$OMF_PATH}/init.fish"
set -g fish_prompt_pwd_dir_length 5

如果这对你有什么帮助,请告诉我。如果没有,那么我将深入挖掘并编辑我的答案。

【讨论】:

  • 正如我在问题的 cmets 中所说,回复 Kurtis Rader 时,导致问题的原因是一个名为 battery 的鱼包。我删除了它,再也没有尝试安装,因为我没有使用它。也许您的回答可以解决问题而无需卸载它。
猜你喜欢
  • 1970-01-01
  • 2017-10-16
  • 1970-01-01
  • 2018-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2023-03-10
相关资源
最近更新 更多