如何在 Warp 中禁用 Powerlevel10k 并安装 Starship

问题描述 投票:0回答:3

我刚刚安装了 Warp 终端,我很喜欢它。

但我想用 Starship 自定义提示,并且我的 iTerm2 终端上仍然有 Powerlevel10k。可以吗?

terminal zsh iterm2 warp
3个回答
5
投票

几个小时后,我成功在 Warp 上安装了 Starship,并且 iTerm(以及所有其他终端)上仍然有 Powerlevel10k,按照

Warp 文档
所述修改我的 .zshrc 文件。

因此,在文件的开头,我包装了 Powelevel10k 初始化,以便仅在终端不是 Warp 时才激活它:

# Enable Powerlevel10k instant prompt. Should stay close to the top of ~/.zshrc.
# Initialization code that may require console input (password prompts, [y/n]
# confirmations, etc.) must go above this block; everything else may go below.
if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then
    if [[ -r "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh" ]]; then
      source "${XDG_CACHE_HOME:-$HOME/.cache}/p10k-instant-prompt-${(%):-%n}.zsh"
    fi
fi

if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then
    source ~/powerlevel10k/powerlevel10k.zsh-theme
fi

我将 Starship 初始化包装在文件末尾,仅用于 Warp:

if [[ $TERM_PROGRAM == "WarpTerminal" ]]; then
    eval "$(starship init zsh)"
fi

2
投票

如果仍然缺少提示,我会在@Christian回答中添加小提示:

if [[ $TERM_PROGRAM == "iTerm.app" ]]; then
  test -e "${HOME}/.iterm2_shell_integration.zsh" && source "${HOME}/.iterm2_shell_integration.zsh"
fi

shell 集成经常会导致问题(例如 https://github.com/warpdotdev/Warp/issues/1518) - 对我来说也是如此,条件初始化有助于解决问题。


0
投票

如果其他人尝试过修复 Powerlevel10k 或 Starship 的技术但没有成功,请检查您是否安装了 Powershell。

Powershell 问题

我遇到了这个问题,我以为是因为 Powerlevel,但其实是因为 Powerline!

Warp keeps adding extra content like 'Username > 文档 > 目录名称 > 应用程序'

Terminal screenshot

修复

在我的

~/.bash_profile
中我有:


. /Users/dilraj/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh

我更新为:

if [[ $TERM_PROGRAM != "WarpTerminal" ]]; then
  # Powerline - Do not run in Warp.dev
  . /Users/dilraj/Library/Python/2.7/lib/python/site-packages/powerline/bindings/bash/powerline.sh
fi

然后运行

source ~/.bash_profile
并退出并重新打开命令行界面!包裹现在对我有好处!

© www.soinside.com 2019 - 2024. All rights reserved.