# Nushell Environment Config File alias ll = ls -l
oh-my-posh init nu
然后再到 config.nu 的最后,添加这一行。
source ~/.oh-my-posh.nu
它会生成 ~/.oh-my-posh.nu ,也就是在用户目录下。打开后里面是这些内容。
export-env { let-env POWERLINE_COMMAND = 'oh-my-posh' let-env POSH_THEME = '' let-env PROMPT_INDICATOR = "" let-env POSH_PID = (random uuid) # By default displays the right prompt on the first line # making it annoying when you have a multiline prompt # making the behavior different compared to other shells let-env PROMPT_COMMAND_RIGHT = {''} let-env POSH_SHELL_VERSION = (version | get version)
let-env PROMPT_COMMAND = { # We have to do this because the initial value of `$env.CMD_DURATION_MS` is always `0823`, # which is an official setting. # See https://github.com/nushell/nushell/discussions/6402#discussioncomment-3466687. let cmd_duration = if$env.CMD_DURATION_MS == "0823" { 0 } else { $env.CMD_DURATION_MS }
# hack to set the cursor line to 1 when the user clears the screen # this obviously isn't bulletproof, but it's a start let clear = (history | last 1 | get 0.command) == "clear"
let width = ((term size).columns | into string) ^"C:/Users/nucx/AppData/Local/Programs/oh-my-posh/bin/oh-my-posh.exe" print primary $"--config=($env.POSH_THEME)" --shell=nu $"--shell-version=($env.POSH_SHELL_VERSION)" $"--execution-time=($cmd_duration)" $"--error=($env.LAST_EXIT_CODE)" $"--terminal-width=($width)" $"--cleared=($clear)" } }