zsh를 사용하여 테마를 변경하는 방법

zsh를 사용하여 테마를 변경하는 방법

나는 사용하고있다이 구성내 Mac(unix)에서 내 쉘을 사용자 정의합니다. 나는 bash 대신 zsh를 사용하는데, zsh는 테이블에 너무 많은 것을 가져옵니다. 구성 에는 각각의 테마와 구성이 .dotfile포함되어 있습니다 . vim, zsh, git, homebrew, nvm, nginx, neovim사용자 Oh-my-zsh정의할 수 있는 테마가 너무 많지만 이것이 zsh내 쉘을 제어하고 ~/.zshrcGithub의 .dotfile 패키지에서 사용하는 파일을 사용하여 생성된 심볼릭 링크입니다. .dotfiles/zsh/zshrc.symlinkzshrc 파일의 oh-my-zsh 버전 이름을 ~/.zshrc.bak로 변경했습니다. 또한 파일 zsh's버전 에 테마 구성을 추가해도 ~\zshrc작동하지 않습니다. 테마 변경은 어떻게 사용할 수 있나요 zsh?

~/.dotfiles의 zshrc 심볼릭 링크

❯ cat ~/.zshrc
# Ruby Motion android tool
export RUBYMOTION_ANDROID_SDK=/Users/abhimanyuaryan/.rubymotion-android/sdk
export RUBYMOTION_ANDROID_NDK=/Users/abhimanyuaryan/.rubymotion-android/ndk

export DOTFILES=$HOME/.dotfiles
export ZSH=$DOTFILES/zsh

# display how long all tasks over 10 seconds take
export REPORTTIME=10

[[ -e ~/.terminfo ]] && export TERMINFO_DIRS=~/.terminfo:/usr/share/terminfo

# define the code directory
# This is where my code exists and where I want the `c` autocomplete to work from exclusively
if [[ -d ~/code ]]; then
    export CODE_DIR=~/code
fi

# source all .zsh files inside of the zsh/ directory
for config ($ZSH/**/*.zsh) source $config

if [[ -a ~/.localrc ]]; then
    source ~/.localrc
fi


# initialize autocomplete
autoload -U compinit
compinit

for config ($ZSH/**/*completion.sh) source $config

export EDITOR='nvim'

export PATH=/usr/local/bin:$PATH

# add /usr/local/sbin
if [[ -d /usr/local/sbin ]]; then
    export PATH=/usr/local/sbin:$PATH
fi

# adding path directory for custom scripts
export PATH=$DOTFILES/bin:$PATH

# check for custom bin directory and add to path
if [[ -d ~/bin ]]; then
    export PATH=~/bin:$PATH
fi

[ -z "$TMUX" ] && export TERM=xterm-256color

# install rbenv
if hash rbenv 2>/dev/null; then
    eval "$(rbenv init -)"
fi

if [[ -d ~/.rvm ]]; then
    PATH=$HOME/.rvm/bin:$PATH # Add RVM to PATH for scripting
    source ~/.rvm/scripts/rvm
fi

# alias git to hub
if hash hub 2>/dev/null; then
    eval "$(hub alias -s)"
fi

# source nvm
export NVM_DIR=~/.nvm

if hash brew 2>/dev/null; then
    source $(brew --prefix nvm)/nvm.sh
    source `brew --prefix`/etc/profile.d/z.sh
fi


# Base16 Shell
# if [ -z "$THEME" ]; then
    export THEME="base16-eighties"
# fi
if [ -z "$BACKGROUND" ]; then
    export BACKGROUND="dark"
fi


BASE16_SHELL="$DOTFILES/.config/base16-shell/$THEME.$BACKGROUND.sh"
# [[ -s $BASE16_SHELL ]] && source $BASE16_SHELL
source $BASE16_SHELL

zshrc 파일의 oh-my-zsh 버전이 작동하지 않습니다.

❯ cat .zshrc.bak
# Path to your oh-my-zsh installation.
export ZSH=/Users/abhimanyuaryan/.oh-my-zsh


ZSH_THEME="robbyrussell"

plugins=(git)

# User configuration

export PATH="/Users/abhimanyuaryan/bin:/usr/local/bin:/Users/abhimanyuaryan/.rbenv/shims:/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/opt/X11/bin"
# export MANPATH="/usr/local/man:$MANPATH"

source $ZSH/oh-my-zsh.sh

ZSH_THEME="agnoster"~/.zshrc에 추가하더라도 . 테마는 변함없이 유지됩니다. 여전히 Nick이 제공하는 것과 동일합니다.

나는 그에게 물었습니다(과거 시제. 그는 당신의 oh-my-zsh가 내 구성과 충돌한다고 말했습니다. 직접 만드십시오. 나는 이 모든 것에 익숙하지 않기 때문에 내 것을 만들고 싶지 않습니다. 일단 tmux에 익숙해지면, vim을 사용하여 이 모든 것을 나만의 것으로 만들겠습니다. 그때까지는 이 .dotfiles 구성을 사용하고 싶습니다. 또한 흑백 zsh와 오-마이를 이해하도록 도와주세요. zsh.차이.

답변1

위의 설명에서 @John P에게 감사드립니다. 이것이 실제로 그의 답변이지만 구성을 편집하고 재구성하지 않고 zsh 테마를 "동적으로" 변경하는 방법을 원하는 사람들은 파일에 정의하면 됩니다..zshrc

alias ztheme='(){ export ZSH_THEME="$@" && source $ZSH/oh-my-zsh.sh }'

용법:

ztheme blinks

답변2

편집을 마친 후 ~/.zshrc쉘 프롬프트에서 명령을 실행하십시오 source ~/.zshrc. ~/.zshrc구성을 다시 로드하는 것처럼 구성을 읽고 적용합니다.

관련 정보