如何在Cmder的Powershell环境下让Lambda符号显示在posh-git信息之后
解决方案
修改$PrePrompt、$PostPrompt不生效是因为启用posh-git后,posh-git会接管PowerShell的prompt渲染逻辑,这两个变量属于Cmder原生prompt的配置项,对posh-git管理的prompt无效,你需要调整posh-git的全局配置对象$GitPromptSettings实现需求。
操作步骤
- 打开Cmder的用户配置文件
config\user_profile.ps1 - 确认文件中已加载posh-git模块(Cmder默认已配置,缺失可在文件开头添加
Import-Module posh-git) - 在posh-git加载代码的下方,添加如下配置:
# 清空默认前缀中的Lambda符号 $GitPromptSettings.DefaultPromptPrefix = '' # 将Lambda符号添加到Git信息后缀位置,末尾保留空格保证光标与符号有间隔 $GitPromptSettings.DefaultPromptSuffix = ' λ '
- 保存配置后重启Cmder,或在当前窗口执行
. $profile重载配置即可生效。
异常情况处理
如果上述配置未生效,说明你在配置文件中手动重写了prompt函数,直接调整该函数的输出顺序即可:
- 执行
Get-Content function:\prompt查看当前prompt的实现代码 - 找到输出Lambda符号、posh-git状态信息的代码行,将Lambda的输出逻辑移动到git状态输出之后即可。
内容的提问来源于stack exchange,提问作者rabejens
相关产品推荐
相关产品推荐

