Oh My Zsh 安裝與配置


切換zsh

Manjaro linux默認安裝了zsh,其他可能需要先安裝

cat /etc/shells #查看本地有哪幾種shell
chsh -s /bin/zsh #切換到zsh

默認終端啟動zsh需要在終端中進行配置

  • 打開終端,編輯>>>>首選項>>>>命令
  • 勾選“運行自定義命令而不是shell” 選項
  • 在下面的“自定義命令”中填寫 "zsh"

安裝 oh-my-zsh

** 注意: root用戶和普通用戶需要單獨安裝配置,即分別切換到普通和root用戶安裝 **

# via wget
wget https://gitee.com/mirrors/oh-my-zsh/raw/master/tools/install.sh && chmod 777 install.sh && ./install.sh

然后執行install.sh 如果發現很慢,可以修改為gitee:
vim install.sh

REPO=${REPO:-ohmyzsh/ohmyzsh}
REMOTE=${REMOTE:-https://github.com/${REPO}.git}
兩行改為:
REPO=${REPO:-mirrors/oh-my-zsh}
REMOTE=${REMOTE:-https://gitee.com/${REPO}.git}

安裝插件

語法高亮插件 zsh-syntax-highlighting

# 執行下面指令自動安裝
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git $ZSH_CUSTOM/plugins/zsh-syntax-highlighting

自動補全插件 zsh-autosuggestions

# 執行下面指令自動安裝
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions

自動跳轉插件 autojump

# clone 到本地
git clone git://github.com/joelthelion/autojump.git
# 進入clone目錄,接着執行安裝文件
cd autojump
./install.py
# 接着根據安裝完成后的提示,在~/.bashrc最后添加下面語句:
vim ~/.bashrc    
[[ -s /home/misfit/.autojump/etc/profile.d/autojump.sh ]] && source /home/misfit/.autojump/etc/profile.d/autojump.sh

安裝完后啟用插件

# 編輯~/.zshrc   
vim ~/.zshrc    
# 在plugins后括號里添加安裝的插件名字
plugins=(git autojump zsh-autosuggestions zsh-syntax-highlighting)
# 最后刷新
source ~/.zshrc    

更改zsh主題

選用內置主題

主題配置文件是 ~/.zshrc , 默認是robbyrussell主題,修改選項 ZSH_THEME

# gedit ~/.zshrc
ZSH_THEME  = "bira"  
"可選擇的部分主題:
agnoster
fletcherm
xiong-chiamiov
gentoo
"

DIY內置主題

以為 bira 為例,修改 ~/.oh-my-zsh/themes/bira.zsh-theme 文件,全部替換下面的配置
主要的更改在其中DT加入了 時間戳

# ZSH Theme - Preview: https://gyazo.com/8becc8a7ed5ab54a0262a470555c3eed.png
local return_code="%(?..%{$fg[red]%}%? ↵%{$reset_color%})"

local DT=`date "+%H:%M:%S"`
if [[ $UID -eq 0 ]]; then
    local user_host='%{$terminfo[bold]$fg[red]%}%n'
    local user_symbol='#'
else
    local user_host='%{$terminfo[bold]$fg[green]%}%n'
    local user_symbol='$'
fi

local current_dir='%{$terminfo[bold]$fg[blue]%}%~ %{$reset_color%}'
local git_branch='$(git_prompt_info)'
local rvm_ruby='$(ruby_prompt_info)'
local venv_prompt='$(virtualenv_prompt_info)'

ZSH_THEME_RVM_PROMPT_OPTIONS="i v g"

PROMPT="╭─[${DT} %B${user_host}%b] ${current_dir}${rvm_ruby}${git_branch}${venv_prompt}
╰─%B${user_symbol}%b "
RPROMPT="%B${return_code}%b"

ZSH_THEME_GIT_PROMPT_PREFIX="%{$fg[yellow]%}‹"
ZSH_THEME_GIT_PROMPT_SUFFIX="› %{$reset_color%}"

ZSH_THEME_RUBY_PROMPT_PREFIX="%{$fg[red]%}‹"
ZSH_THEME_RUBY_PROMPT_SUFFIX="› %{$reset_color%}"

ZSH_THEME_VIRTUAL_ENV_PROMPT_PREFIX="%{$fg[green]%}‹"
ZSH_THEME_VIRTUAL_ENV_PROMPT_SUFFIX="› %{$reset_color%}"
ZSH_THEME_VIRTUALENV_PREFIX=$ZSH_THEME_VIRTUAL_ENV_PROMPT_PREFIX
ZSH_THEME_VIRTUALENV_SUFFIX=$ZSH_THEME_VIRTUAL_ENV_PROMPT_SUFFIX

{mtitle title="修改前"/}
kwwaktvm.png
{mtitle title="修改后"/}
kwwb8p4q.png

{callout color="#1eeb0f"}
自動跳轉插件 autojumpautojump 工作原理:它會在你每次啟動命令時記錄你當前位置,並把它添加進它自身的數據庫中。這樣,某些目錄比其它一些目錄添加的次數多,這些目錄一般就代表你最重要的目錄,而它們的“權重”也會增大。
{/callout}

查看版本:
j -v
目錄跳轉:
 j    [目錄的名字或名字的一部分] // 不受當前所在目錄的限制

查看當前權重:
j --stat

進入權重最高的目錄:
j

改變當前目錄權重值:
j -i [權重] // 增加
j -d [權重] // 減少

主題樣式

xiong-chiamiov主題
{mtitle title="xiong-chiamiov主題"/}
agnoster主題
{mtitle title="agnoster主題"/}
Oh-My-Zsh主題匯總


免責聲明!

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



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