去掉oh_my_zsh主題自帶的git檢查


oh_my_zsh是一個非常好用和好看的命令行配置,它包含自動補全目錄下git自動檢查主題插件等功能,給在命令行下工作的人提供了非常好的便利。

前陣子配置vagrant虛擬機,為了打個環境給同事使用。考慮到有些命令需要在虛擬機里面完成,所以還是安裝了一個oh_my_zsh

但是問題來了,在oh_my_zsh的默認主題中,當進入一個是git倉庫的文檔夾時,會自動讀取.git里面的內容,了解當前的倉庫狀態,比如當前分支。可是在虛擬機里讀取文檔的速度要慢一些,這就會導致每一條命令都會檢查一下當前倉庫狀態的這個行為會使得命令行開始輸入的狀態變的很慢。

一開始我以為是插件的原因,去掉git插件,sourse ~/.zshrc重載配置之后,還是如此,后來發現是主題的緣故。

我通常是比較懶的,既然默認主題有這個問題,那就找一個別的主題好了。

可是在oh_my_zshgithub上的theme列表中,每個主題都是含有這個功能的,所以只有自己修改主題了。

// 進入用戶主目錄
cd ~

// 進入oh_my_zsh的主題目錄,這里保存着所有可以在其github上的主題庫,我們只要改名字就可以引入對應的主題
cd .oh-my-zsh/themes

// 編輯默認主題文檔
vim robbyrussell.zsh-theme

打開默認主題文檔會發現其實就幾行,像下面這樣

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%}$(git_prompt_info)%{$fg_bold[blue]%} % %{$reset_color%}'

ZSH_THEME_GIT_PROMPT_PREFIX="git:(%{$fg[red]%}"
ZSH_THEME_GIT_PROMPT_SUFFIX="%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

需要將其修改為

local ret_status="%(?:%{$fg_bold[green]%}➜ :%{$fg_bold[red]%}➜ %s)"
PROMPT='${ret_status}%{$fg_bold[green]%}%p %{$fg[cyan]%}%c %{$fg_bold[blue]%} % %{$reset_color%}'



# ZSH_THEME_GIT_PROMPT_DIRTY="%{$fg[blue]%}) %{$fg[yellow]%}✗%{$reset_color%}"
# ZSH_THEME_GIT_PROMPT_CLEAN="%{$fg[blue]%})"

也就是去掉git部分就好了,其他功能照常使用即可。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM