如何让 Powerline 在 Bash 中生成正确的提示箭头

如何让 Powerline 在 Bash 中生成正确的提示箭头

该网站上有几个问题与我的非常相似;然而,这些问题的答案似乎并不能解决我的问题。首先,让我描述一下到目前为止我的流程。我在使用 OS X 11.0.1 (macOS Big Sur) 的 Macintosh 计算机上从 Bash 3.2.57 运行此过程。

  1. 我使用以下命令克隆了 Powerline 字体。

    git clone https://github.com/powerline/fonts.git
    
  2. powerline_fonts这将在我的主目录中创建一个名为的目录

  3. cd进入powerline_fonts目录并运行命令./install.sh来安装字体

  4. pip3 install powerline-shell按照网站上的指示安装 Powerline shell (Powerline Shell)[https://github.com/b-ryan/powerline-shell]

  5. 然后我.profile按照以下说明更新我的文件

    function _update_ps1() {
             PS1=$(Powerline-shell $?)
    }
    
    if [[ STERM != linux && ! $PROMPT_COMMAND =~ _update_ps1 ]]; then
        PROMPT_COMMAND="_update_ps1; $PROMPT_COMMAND"
    fi
    
  6. 接下来,我.config在主目录中创建一个目录,然后powerline-shell在该目录中创建一个目录.config。在powerline-shell目录中我创建了一个config.json文件并用以下信息填充它

    {
      "segments": [
        "virtual_env",
        "ssh",
        "username",
        "cwd",
        "git",
        "git_stash",
        "jobs",
        "set_term_title",
        "svn",
        "newline",
        "root"
      ],
        "mode" : "flat",
        "cwd": {
        "mode": "plain",
        "max_depth": 4
        },
        "theme": "solarized_light"
    }
    
  7. 然后我检查locale以确保所有内容都配置正确,并得到以下输出。

    $ 语言环境 LANG="en_US.UTF-8" LC_COLLATE="en_US.UTF-8" LC_CTYPE="en_US.UTF-8" LC_MESSAGES="en_US.UTF-8" LC_MONETARY="en_US.UTF-8" LC_NUMERIC=" en_US.UTF-8" LC_TIME="en_US.UTF-8" LC_ALL=

  8. 我注销 Bash 会话并重新登录。Powerline Shell 已生效,我收到颜色编码的提示;然而,我并没有在每个提示的末尾得到一个格式良好的箭头,而是只得到像此处所示的框状提示。 Bash 中当前的 powerline shell 提示

我怀疑我的问题出在步骤 1 和步骤 3 之间,但我找到的所有说明都没有告诉您执行任何不同的操作。

相关内容