WSLで純粋なZシェルでzshテーマファイルを使用する方法

WSLで純粋なZシェルでzshテーマファイルを使用する方法

私はWSL(レガシー(デフォルト)、実際にはUbuntu 16.04)を使用しており、Zシェル(フレームワークまたはプラグインマネージャなし)を端末のシェルとして使用しています。私の現在のトピックは幾何学.zshファイルとそのファイルが含まれています.zsh-theme。私のファイルでは、次のように使用します.zshrc

# Geometry Theme
# from https://github.com/geometry-zsh/geometry
if [[ ! -a $HOME/.zsh-plugins/geometry/geometry.zsh ]] then
    git clone https://github.com/geometry-zsh/geometry $HOME/.zsh-plugins/geometry
fi

source ~/.zsh-plugins/geometry/geometry.zsh

長く使っているのに変えたいです。私が試すことを選んだ新しいトピック(例:オタクアシジットなど)、現在のテーマとは異なり、ファイルが1つしかありません.zsh-theme。以下の指示に従いました。ここしかし、すべてのテーマに対して次のエラーが発生します。

/path/to/zsh/theme.zsh-theme:8: parse error near `\n'

たとえば、iGeekの最初の10行を入力しました。

# igeek zsh-theme

# System load
g_load=`top -bn1 | grep "Cpu(s)" | sed "s/.*, *\([0-9.]*\)%* id.*/\1/" | awk 5 '{printf "☉ System load : %.1f%", 100-$1 }'`

# Memory Usage
g_memory=`free -m | awk 'NR==2{printf "☉ Memory Usage: %.2f%", $3*100/$2 }'`

# Disk Usage
g_disk=`df -h | awk '$NF=="/"{printf "☉ Disk Usage: %.1f%", $5}'`

そしてasciigit:

setopt prompt_subst

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_EQUAL_REMOTE=''
ZSH_THEME_GIT_PROMPT_BEHIND_REMOTE='<'
ZSH_THEME_GIT_PROMPT_AHEAD_REMOTE='>'
ZSH_THEME_GIT_PROMPT_DIVERGED_REMOTE="%{$fg[red]%}<>%{%F{14}%}"
ZSH_THEME_GIT_PROMPT_UNTRACKED='%%'
ZSH_THEME_GIT_PROMPT_ADDED='+'

.zsh-themeWSL端末からコマンドを使用してファイルをダウンロードし、curlファイルを変更しなかったことは注目に値します。たとえば、

curl https://github.com/cemsbr/asciigit/blob/master/asciigit.zsh-theme --create-dirs -o ~/.zsh-plugins/asciigit/asciigit.zsh-theme

奇妙なことは、私が試した限り、8行の内容がファイルごとに異なる場合でも、8行でのみエラーが発生することです。

プラグインマネージャを使用せずにこれらのテーマを使用する方法はありますか?

答え1

ヒントを与えた@kemotepのおかげで、問題の原因を見つけました。

curlコマンドに無効なリンク(GitHubファイルビューアページリンク)を使用しています。代わりに、元のファイルへのリンクを使用する必要があります。たとえば、

curl https://raw.githubusercontent.com/cemsbr/asciigit/master/asciigit.zsh-theme --create-dirs -o ~/.zsh-plugins/asciigit/asciigit.zsh-theme

その後、ファイルsource ~/.zsh-plugins/asciigit/asciigit.zsh-themeに追加して実行するとテーマが適用されます。~/.zshrcsource ~/.zshrc

関連情報