在运行 powerline 时交互式切换 zsh 主题

在运行 powerline 时交互式切换 zsh 主题

我是 bash 的长期用户,刚刚习惯运行 zsh、oh-my-zsh 和 powerline。我非常喜欢这个设置,但有一个挫败感我不知道如何解决。

我偶尔需要将终端会话复制并粘贴到电子邮件、文本文档等中。使用默认的电力线设置,特殊字符会导致麻烦,所以我的想法是将我的 zsh 主题切换为普通的 ascii 主题。不幸的是,我不知道如何从命令行执行此操作。我确信这是可能的,但我不太清楚电力线和外壳之间的相互作用来连接它。

我建议的工作流程是:

  • 打开 shell 会话
  • 照常工作
  • 将主题切换为“仅 ASCII”主题(powerline 显然包含该主题)
  • 进行复制/粘贴工作
  • 将主题切换回我之前的主题

我很乐意将其编写为脚本或别名,但我不太清楚如何开始。当搜索“动态更改电力线主题”、“动态更改 zsh 提示”等内容时,我的 google-fu 很弱。

我尝试过的事情:

  • 手动设置提示:PS1="\$ "。这设置了左侧提示就好了,但没有清除右侧提示(我的设置中通常有 git 信息)
  • 手动应用主题:source ~/.oh-my-zsh/themes/my-plain-ascii.zsh-theme.还是没有清除右侧提示

而且我仍然不确定如何在完成后重新应用我的电力线默认值,缺少source ~/.zshrc,它有效,但看起来很重量级。

答案1

您应该能够获取 ascii 主题,然后取消设置或清除 RPROMPT 变量。所以像

source ~/.oh-my-zsh/themes/my-plain-ascii.zsh-theme
unset RPROMPT
<your work for copying and pasting>
source <powerline-install-directory>/bindings/zsh/powerline.zsh

当然,您始终可以将该unset RPROMPT行添加到您的自定义 zsh 主题中。

相关内容