virtualenv - 在 Fish shell 中设置 virtualenv 名称,直接在 config.fish 中

标签 virtualenv fish virtualfish

virtualfish 的文档具体是为了让fish提示显示当前virtualenv你应该更新全局 fish_prompt函数并保存它( funced fish_prompt 和 funcsave fish_prompt )。我不认为这种方法特别优雅,因为我希望在 config.fish 中进行所有自定义。 .因此,我的问题是,显示当前 virtualenv 的最简单方法是什么?姓名在fish prompt仅在 config.fish 中进行更改?

所以如果 foobar是当前环境的名称,如何显示,如:

(foobar) gedefar@Jakobs-MacBook-Pro ~/w/pyprototypes`

最佳答案

我发现的最简单的方法是覆盖 fish_prompt函数在 config.fish

functions -c fish_prompt _old_fish_prompt
function fish_prompt
  if set -q VIRTUAL_ENV
    echo -n -s (set_color -b blue white) "(" (basename "$VIRTUAL_ENV") ")" (set_color normal) " "
  end
  _old_fish_prompt
end

关于virtualenv - 在 Fish shell 中设置 virtualenv 名称,直接在 config.fish 中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22708064/

相关文章:

python - 如何使用 virtualenv 在 Windows 中使用 32 位和 64 位 Python?

linux - 有没有办法将环境变量设置为 x 小时

macos - 如何配置 Go 以便它可以访问 OSX 中的环境变量

fish - 如何在fish中禁用vi模式?

python - Django migrate error _mysql_exceptions.ProgrammingError : (1064, "你的SQL语法有错误

python-2.7 - notests 无法使用 virtualenv 导入覆盖范围

python-3.x - python 3的Virtualenvwrapper替代品