使用zsh+omz打造你的超级终端
使用 打造 zsh 超级终端
2023-06-13 09:16:11 时间
自从走上了Linux这条路,就离不开终端了。。。
如果不好好折腾一下,真是对不起自己的老花眼了!
所以老高针对Mac(没有的赶紧买买买)下的iterm2进行了简单的定制,记录如下:
ps.此文会不定期更新
准备
什么!? 你还没有装iterm2、zsh和oh_my_zsh?
iterm2(目前最新版2.1.4) ---> 下载地址
zsh ---> 安装教程
安装powerline-shell
可以参考README安装:
可能遇到的问题
安装powerline字体,参考README安装:
报错/usr/bin/env: python2: No such file or directory
:
解决:
ln -s /usr/bin/python /usr/bin/python2
换主题
下载solarized主题
目测就solarized的dark版能看。。。
老高从github抓的,放心用吧
git clone https://github.com/altercation/solarized
# 老高从github抓的,放心用
git clone https://git.coding.net/phpgao/solarized.git
设置iterm主题
load新主题
在iterm2在设置-->Profiles-->Colors-->Load Presets 里导入刚才clone下来的iterm2-colors-solarized/Solarized Dark.itermcolors
,然后选择即可!
solarized主题的选择文字不好分辨,可以刚好在此设置一下!
设置字体
在设置-->Profiles-->Text中把字体都设置为带Powerline后缀的,目测ubuntu和Meslo系列的字体比较耐看!
设置zsh
ps.这里最重要!
创建新主题文件
在文件夹~/.oh-my-zsh/themes
中新建主题文件,名称自定:如laogao.zsh-theme
,后面会用到。
下面的内容参考Mac OS X & Oh My ZSH Theme on iTerm2,将下面的内容保存到刚才的文件中!
if [ "$POWERLINE_DATE_FORMAT" = "" ]; then
POWERLINE_DATE_FORMAT=%D{%Y-%m-%d}
fi
if [ "$POWERLINE_RIGHT_B" = "" ]; then
POWERLINE_RIGHT_B=%D{%H:%M:%S}
elif [ "$POWERLINE_RIGHT_B" = "none" ]; then
POWERLINE_RIGHT_B=""
fi
if [ "$POWERLINE_RIGHT_A" = "mixed" ]; then
POWERLINE_RIGHT_A=%(?."$POWERLINE_DATE_FORMAT".%F{red}✘ %?)
elif [ "$POWERLINE_RIGHT_A" = "exit-status" ]; then
POWERLINE_RIGHT_A=%(?.%F{green}✔ %?.%F{red}✘ %?)
elif [ "$POWERLINE_RIGHT_A" = "date" ]; then
POWERLINE_RIGHT_A="$POWERLINE_DATE_FORMAT"
fi
if [ "$POWERLINE_HIDE_USER_NAME" = "" ] && [ "$POWERLINE_HIDE_HOST_NAME" = "" ]; then
POWERLINE_USER_NAME="%n@"'%M'
elif [ "$POWERLINE_HIDE_USER_NAME" != "" ] && [ "$POWERLINE_HIDE_HOST_NAME" = "" ]; then
POWERLINE_USER_NAME="@%M"
elif [ "$POWERLINE_HIDE_USER_NAME" = "" ] && [ "$POWERLINE_HIDE_HOST_NAME" != "" ]; then
POWERLINE_USER_NAME="%n"
else
POWERLINE_USER_NAME="λ"
fi
POWERLINE_CURRENT_PATH="%d"
if [ "$POWERLINE_FULL_CURRENT_PATH" = "" ]; then
POWERLINE_CURRENT_PATH="%1~"
fi
if [ "$POWERLINE_GIT_CLEAN" = "" ]; then
POWERLINE_GIT_CLEAN="✔"
fi
if [ "$POWERLINE_GIT_DIRTY" = "" ]; then
POWERLINE_GIT_DIRTY="✘"
fi
if [ "$POWERLINE_GIT_ADDED" = "" ]; then
POWERLINE_GIT_ADDED="%F{green}✚%F{black}"
fi
if [ "$POWERLINE_GIT_MODIFIED" = "" ]; then
POWERLINE_GIT_MODIFIED="%F{blue}✹%F{black}"
fi
if [ "$POWERLINE_GIT_DELETED" = "" ]; then
POWERLINE_GIT_DELETED="%F{red}✖%F{black}"
fi
if [ "$POWERLINE_GIT_UNTRACKED" = "" ]; then
POWERLINE_GIT_UNTRACKED="%F{yellow}✭%F{black}"
fi
if [ "$POWERLINE_GIT_RENAMED" = "" ]; then
POWERLINE_GIT_RENAMED="➜"
fi
if [ "$POWERLINE_GIT_UNMERGED" = "" ]; then
POWERLINE_GIT_UNMERGED="═"
fi
ZSH_THEME_GIT_PROMPT_PREFIX=" \ue0a0 "
ZSH_THEME_GIT_PROMPT_SUFFIX=""
ZSH_THEME_GIT_PROMPT_DIRTY=" $POWERLINE_GIT_DIRTY"
ZSH_THEME_GIT_PROMPT_CLEAN=" $POWERLINE_GIT_CLEAN"
ZSH_THEME_GIT_PROMPT_ADDED=" $POWERLINE_GIT_ADDED"
ZSH_THEME_GIT_PROMPT_MODIFIED=" $POWERLINE_GIT_MODIFIED"
ZSH_THEME_GIT_PROMPT_DELETED=" $POWERLINE_GIT_DELETED"
ZSH_THEME_GIT_PROMPT_UNTRACKED=" $POWERLINE_GIT_UNTRACKED"
ZSH_THEME_GIT_PROMPT_RENAMED=" $POWERLINE_GIT_RENAMED"
ZSH_THEME_GIT_PROMPT_UNMERGED=" $POWERLINE_GIT_UNMERGED"
ZSH_THEME_GIT_PROMPT_AHEAD=" ⬆"
ZSH_THEME_GIT_PROMPT_BEHIND=" ⬇"
ZSH_THEME_GIT_PROMPT_DIVERGED=" ⬍"
if [ "$POWERLINE_SHOW_GIT_ON_RIGHT" = "" ]; then
if [ "$POWERLINE_HIDE_GIT_PROMPT_STATUS" = "" ]; then
POWERLINE_GIT_INFO_LEFT=" %F{blue}%K{white}"$'\ue0b0'"%F{white}%F{black}%K{white}"$'$(git_prompt_info)$(git_prompt_status)%F{white}'
else
POWERLINE_GIT_INFO_LEFT=" %F{blue}%K{white}"$'\ue0b0'"%F{white}%F{black}%K{white}"$'$(git_prompt_info)%F{white}'
fi
POWERLINE_GIT_INFO_RIGHT=""
else
POWERLINE_GIT_INFO_LEFT=""
POWERLINE_GIT_INFO_RIGHT="%F{white}"$'\ue0b2'"%F{black}%K{white}"$'$(git_prompt_info)'" %K{white}"
fi
if [ $(id -u) -eq 0 ]; then
POWERLINE_SEC1_BG=%K{red}
POWERLINE_SEC1_FG=%F{red}
else
POWERLINE_SEC1_BG=%K{green}
POWERLINE_SEC1_FG=%F{green}
fi
POWERLINE_SEC1_TXT=%F{black}
if [ "$POWERLINE_DETECT_SSH" != "" ]; then
if [ -n "$SSH_CLIENT" ]; then
POWERLINE_SEC1_BG=%K{red}
POWERLINE_SEC1_FG=%F{red}
POWERLINE_SEC1_TXT=%F{white}
fi
fi
PROMPT="$POWERLINE_SEC1_BG$POWERLINE_SEC1_TXT $POWERLINE_USER_NAME %k%f$POWERLINE_SEC1_FG%K{blue}"$'\ue0b0'"%k%f%F{white}%K{blue} "$POWERLINE_CURRENT_PATH"%F{blue}"$POWERLINE_GIT_INFO_LEFT" %k"$'\ue0b0'"%f "
if [ "$POWERLINE_NO_BLANK_LINE" = "" ]; then
PROMPT="
"$PROMPT
fi
if [ "$POWERLINE_DISABLE_RPROMPT" = "" ]; then
if [ "$POWERLINE_RIGHT_A" = "" ]; then
RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{white}"$'\ue0b2'"%k%F{black}%K{white} $POWERLINE_RIGHT_B %f%k"
elif [ "$POWERLINE_RIGHT_B" = "" ]; then
RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{white}"$'\ue0b2'"%k%F{240}%K{white} $POWERLINE_RIGHT_A %f%k"
else
RPROMPT="$POWERLINE_GIT_INFO_RIGHT%F{white}"$'\ue0b2'"%k%F{black}%K{white} $POWERLINE_RIGHT_B %f%F{240}"$'\ue0b2'"%f%k%K{240}%F{255} $POWERLINE_RIGHT_A %f%k"
fi
fi
编辑.zshrc
讲下面的内容追加到你的~/.zshrc
文件中!
ZSH_THEME="laogao"
POWERLINE_HIDE_USER_NAME="true"
POWERLINE_HIDE_HOST_NAME="true"
POWERLINE_DETECT_SSH="true"
POWERLINE_GIT_CLEAN="✔"
POWERLINE_GIT_DIRTY="✘"
POWERLINE_GIT_ADDED="%F{green}✚%F{black}"
POWERLINE_GIT_MODIFIED="%F{blue}✹%F{black}"
POWERLINE_GIT_DELETED="%F{red}✖%F{black}"
POWERLINE_GIT_UNTRACKED="%F{yellow}✭%F{black}"
POWERLINE_GIT_RENAMED="➜"
POWERLINE_GIT_UNMERGED="═"
# 开启等待红点
COMPLETION_WAITING_DOTS="true"
# 加入一些插件
plugins=(git autojump mvn gradle brew rails3 git-flow capistrano zeus textmate ruby osx)
source $ZSH/oh-my-zsh.sh
删除OMZ
如果用腻了想删除,很简单!
rm ~/.oh-my-zsh
相关文章
- 打造便捷、人性化的macOS桌面使用环境
- redis可视化工具使用_redis图形化
- Redis如何使用lua脚本实例教程
- java使用正则抓捕网上邮箱详解编程语言
- 使用Oracle工具导出脚本文件(oracle导出脚本文件)
- 使用Redis API打造高性能应用(redisapi)
- Redis的端口号:使用说明(redis的端口号)
- 轻松打造个人网站——使用Linux Web编辑器(linuxweb编辑器)
- 打造高效网站:使用PHP和MySQL实现完美支持(phpmysql支持)
- 深入探究:Linux下日志文件使用方法与技巧(linux下日志文件)
- 使用 Redis 打造高性能分布式系统(redis解决并发问题)
- 打造完美家庭服务器,使用Linux操作系统(家庭服务器linux)
- 使用SQL Server的微整型技术优化数据库(sqlserver微整型)
- 使用SQL Server打造稳定可靠的主机系统(sqlserver主机)
- SQL Server与Visual Studio配合使用,打造完美数据库解决方案(sqlserver与vs)
- 使用Redis打造个性化的数据服务(自己写redis)
- 如何使用mysql中的dist函数进行计算(mysql中dist是)
- 库使用64位Mysql数据库打造强大稳健的服务体系(64位mysql数据)
- 使用redis打造精准的搜索引擎(搜索引擎redis)
- 使用YAF整合Redis打造更快速的WEB应用(yaf 整合redis)
- 下载小说神器使用MYSQL打造高效快捷的APP(MYSQL下载小说app)
- QPS系统使用Redis打造10万QPS系统(基于redis构建10万)
- 使用MYSQL技术打造高效电影App下载平台(MYSQL下载电影app)
- 使用Redis集群打造安全可靠的JWT体系(redis集群jwt)
- 使用php将某个目录下面的所有文件罗列出来的方法详解