【问题标题】:How to change prompt in iTerm2 in Mac OS?如何在 Mac OS 中更改 iTerm2 中的提示?
【发布时间】:2018-06-22 02:51:37
【问题描述】:

我已经在我的 Mac 上安装了 oh-my-zsh 和 iterm2。目前命令提示符显示为 currentdirectory@currenthost ~ 如何将其更改为仅显示当前目录。我尝试在 .bashrc 和 .bash_profile 文件中更改 PS1 变量以导出 PS1 = " " 但提示仍然保持不变。 任何帮助表示赞赏。

【问题讨论】:

  • .bashrc.bash_profile 顾名思义是 bash 的配置文件,而 Oh-My-ZSHzsh 的配置框架.如果你想改变你的zsh 配置,你必须修改zsh 的配置文件。通常这是 ~/.zshrc,但 Oh-My-ZSH 可能会提供其他选项。
  • 感谢您的指导。我现在就试试。
  • Zsh 与PS1="New prompt: "= 周围没有空格的情况下非常相似。在等号周围放置空格会给你带来问题——错误的分配、找不到命令或类似的东西。

标签: bash shell terminal oh-my-zsh


【解决方案1】:

将此行添加到~/.zshrc,它将假定该用户在 iTerm 启动。然后它不会在提示中显示您的用户名。

DEFAULT_USER="your_user_name"

【讨论】:

    【解决方案2】:

    我在 iTerm2 + agnoster 主题中尝试了以下操作。默认情况下,命令提示符显示为 user@hostname。

    你应该修改zsh的配置文件:

    如果您想将 Home 目录显示为提示名称,请将这些行添加到 ~/.zshrc:

    prompt_context() {
      if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
        prompt_segment black default "%(!.%{%F{yellow}%}.)$HOME"
      fi
    }
    

    如果您想将用户显示为提示名称,请将这些行添加到 ~/.zshrc:

    prompt_context() {
      if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
        prompt_segment black default "%(!.%{%F{yellow}%}.)$USER"
      fi
    }
    

    如果您想将主机名显示为提示名称,请将这些行添加到 ~/.zshrc:

     prompt_context() {
          if [[ "$USER" != "$DEFAULT_USER" || -n "$SSH_CLIENT" ]]; then
            prompt_segment black default "%(!.%{%F{yellow}%}.)%m"
          fi
        }
    

    如果要完全删除名称,请添加:

    prompt_context() {}
    

    【讨论】:

      【解决方案3】:

      自从更新到 10.15 Catalina 版本后,macOS 在终端应用程序中默认包含 Z shell (zsh) 而不是 Bash,因此当您安装 iterm2 时,它将使用存储在 Zsh 配置文件(dotfile)中的任何 Zsh 设置。

      以下是要遵循的步骤;粘贴命令,保存并退出。重新打开 iterm2 以查看更改。

      默认情况下,在 MacOS 中,点文件不存在,因此您必须创建一个。

      • 创建 Zsh 配置文件(点文件),我使用 nano 编辑器,但您可以使用任何其他选择
      nano ~/.zshrc
      

      默认的 Zsh 提示包含用户名、机器名和从用户主目录开始的位置等信息,因此您可以自定义在提示时输出的内容:

      • 仅查看您的用户名
      PROMPT="%n:~$ "
      
      • 仅查看工作目录:
      PROMPT="%1d:~$ "
      
      • 仅查看时间(%T - 24hrs、%t - 12hrs 或 %* 24hrs+seconds)
      PROMPT="%T:~$ "
      
      • 仅查看日期(%D:yy-mm-dd 格式或 %W:mm-dd-yy 格式)
      PROMPT="%W:~$ "
      
      • 仅查看 $ 符号
      PROMPT="~$ "
      
      • 查看您的用户名和日期
      PROMPT="%n:%W:~$ "
      
      • 查看您的用户名和时间
      PROMPT="%n:%T:~$ "
      

      您甚至可以为相关文本添加颜色。确保包含在 %F 和 %f 颜色变量中。

      • 青色
      PROMPT="%F{cyan}%T%f:~$ "
      
      • 最后,这是我的选择,查看时间和工作目录
      PROMPT="%F{cyan}%T@%1d%f:~$ "
      

      【讨论】:

        猜你喜欢
        • 2014-08-12
        • 2015-08-20
        • 2011-08-07
        • 1970-01-01
        • 2021-07-30
        • 1970-01-01
        • 2017-01-11
        • 1970-01-01
        • 2021-03-13
        相关资源
        最近更新 更多