Powerlineの実行中にインタラクティブにzshテーマを切り替える

Powerlineの実行中にインタラクティブにzshテーマを切り替える

私は長い間bashを使用してきましたが、今zsh、oh-my-zsh、およびpowerlineの実行に慣れてきました。この設定は本当に気に入っていますが、解決策がわからない1つの苦情があります。

場合によっては、ターミナルセッションをコピーして電子メール、テキスト文書などに貼り付ける必要があります。デフォルトの電力線設定では特殊文字が問題になるため、zshテーマを通常のasciiテーマに切り替えることをお勧めします。残念ながら、コマンドラインでこれを行う方法がわかりません。可能であると確信していますが、それを接続する電源ラインとエンクロージャ間の相互作用をよく理解していません。

私が提案するワークフローは次のとおりです。

  • シェルセッションを開く
  • いつものように働く
  • テーマを「ASCIIのみ」テーマに切り替えます(電力線には明らかにこれが含まれています)。
  • コピー/貼り付け操作を実行してください
  • テーマを以前のテーマに戻す

これをスクリプトやエイリアスで作成したいのですが、どのように始めるのかわかりません。私のgoogle-fuは、「電力線テーマを動的に変更する」、「zshプロンプトを動的に変更する」などのアイテムを検索すると弱いです。

私が試したこと:

  • 手動設定のヒント: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テーマに追加できます。

おすすめ記事