配置第三方提示
Nerdfonts
Nerdfonts 并不是必需的,但它们能使呈现效果更好。
oh-my-posh
如果你喜欢 oh-my-posh
(opens new window),可以通过以下几个步骤在 Nushell 里使用 oh-my-posh,它与 Nushell 一起配合得很好。在 Nushell 里设置 oh-my-posh 的步骤:
- 安装 Oh My Posh 并按照 指南
(opens new window)下载 oh-my-posh 的主题。 - 下载并安装一个 Nerdfonts 字体
(opens new window)。 - 在
~/.config/nushell/config.nu(或由$nu.config-path输出的路径)中设置PROMPT_COMMAND,将M365Princess.mp.json改为你喜欢的任何 主题
(opens new window)。
1. > let-env PROMPT_COMMAND = { oh-my-posh --config ~/.poshthemes/M365Princess.omp.json }
MacOS 用户配置步骤:
- 你可以通过
brew安装oh-my-posh,可以参考这里的 指南
(opens new window); - 下载并安装一个 Nerdfonts 字体
(opens new window); - 在
$nu.config-path输出的文件中设置PROMPT_COMMAND,可以参考下面的代码片段:
1. let posh-dir = (brew --prefix oh-my-posh | str trim)
2. let posh-theme = $'($posh-dir)/share/oh-my-posh/themes/'
3. # Change the theme names to: zash/space/robbyrussel/powerline/powerlevel10k_lean/
4. # material/half-life/lambda Or double lines theme: amro/pure/spaceship, etc.
5. # For more [Themes demo](https://ohmyposh.dev/docs/themes)
6. let-env PROMPT_COMMAND = { oh-my-posh prompt print primary --config $'($posh-theme)/zash.omp.json' }
7. # Optional
8. let-env PROMPT_INDICATOR = $"(ansi y)$> (ansi reset)"
Starship
- 参照上面的链接,安装 Starship;
- 根据你的喜好,安装 nerdfonts;
- 使用下面的配置示例,请确保设置
STARSHIP_SHELL环境变量;
下面是一个关于 Starship 的配置示例:
1. let-env STARSHIP_SHELL = "nu"
3. def create_left_prompt [] {
4. starship prompt --cmd-duration $env.CMD_DURATION_MS $'--status=($env.LAST_EXIT_CODE)'
5. }
7. # Use nushell functions to define your right and left prompt
8. let-env PROMPT_COMMAND = { create_left_prompt }
9. let-env PROMPT_COMMAND_RIGHT = ""
11. # The prompt indicators are environmental variables that represent
12. # the state of the prompt
13. let-env PROMPT_INDICATOR = ""
14. let-env PROMPT_INDICATOR_VI_INSERT = ": "
15. let-env PROMPT_INDICATOR_VI_NORMAL = "〉"
16. let-env PROMPT_MULTILINE_INDICATOR = "::: "
然后重启 Nushell:
1. nushell on 📙 main is 📦 v0.60.0 via 🦀 v1.59.0
2. ❯
你可以在 官方 Starship 配置文档
(opens new window)中了解更多关于配置 Starship 的信息。
另一种启用 Starship 的方法在 Starship 快速安装
(opens new window)说明中有描述。
