我是 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 主题中。