其实一开始让我转zsh
我是拒绝的,由于OS X默认的bash
相对来讲已经至关强大了,可是受不了oh-my-zsh
诱人的界面,因而今天就花时间装上体验了一把,再而后就是我来这里安利了???git
首先须要安装zsh
,若是不肯定有没有,能够经过终端命令:github
cat /etc/shells
查看,个人结果以下:shell
/bin/bash /bin/csh /bin/ksh /bin/sh /bin/tcsh /bin/zsh
没有的就须要安装了。vim
OS X用户:睾贵的自带了zsh
,跳过...windows
Ubuntu用户:sudo apt-get install zshbash
Windows用户:因为天生过高贵,没法安装,请关闭当前页面...???请转至评论区,借助Cygwin能够实现(3月31日更新,据Windows开发者大会前线消息,Windows推出了bash for windows,Windows用户们喜大普奔吧!!!)dom
传说zsh
配置极其复杂,起初并无多少人用,后来有个程序猿在GitHub开源了一个oh-my-zsh项目,而后就...zsh
大法好,果真程序猿改变世界!!!curl
oh-my-zsh
有两种安装方式:字体
# via wget sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)" # via curl sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
安装完成后重启终端就OK了。this
我以前一直使用的是bash
,有部分配置保存在相应的配置文件中,个人是在~/.bash_profile
中,使用vim ~/.bash_profile
进入编辑模式,把里面的我的配置拷贝出来粘贴到~/.zshrc
的末尾便可。
oh-my-zsh
最直观和bash
不同的地方要数它丰富的主题了,也是一开始吸引我使用它的地方。不过在配置主题以前最好先保证系统有丰富的字体,由于部分主题依赖于这些字体,按照说明安装便可,安装完成后在shell
偏好设置里面选择,我使用的是Meslo for Powerline
系列。
切换主题只须要编辑~/.zshrc
文件,找到下面这段文本:
# Set name of the theme to load. # Look in ~/.oh-my-zsh/themes/ # Optionally, if you set this to "random", it'll load a random theme each # time that oh-my-zsh is loaded. ZSH_THEME="random"
我本身配置的是随机random
,自带的主题在~/.oh-my-zsh/themes
里面,想用哪一个就把相应的名字替换进去就能够了,这是一些自带主题的截图⇒我带你去看。有可能你不知足于这些,不要紧,还有扩展主题,每一个主题都有详细的配置方法,照作就OK了。
oh-my-zsh
另一个强大的地方是插件,自带插件在~/.oh-my-zsh/plugins
目录下,想了解各个插件的功能和使用方法,阅读各个插件目录下的*.plugin.zsh
就能够了,好比在终端中输入vim ~/.oh-my-zsh/plugins/git/git.plugin.zsh
,你能够看到:
# Query/use custom command for `git`. zstyle -s ":vcs_info:git:*:-all-" "command" _omz_git_git_cmd : ${_omz_git_git_cmd:=git} # # Functions # ... alias g='git' alias ga='git add' alias gaa='git add --all' alias gapa='git add --patch' ...
贴心好用到哭有木有???
除了自带插件外,还有一大票扩展插件,我目前只安装了一个zsh-completions。安装方式很简单,把插件用git
命令克隆到~/.oh-my-zsh/custom/plugins
,而后在配置文件中按插件说明配置保存、重启就能够了。
有些插件在按照说明安装使用后会报相似于以下的错误:
_arguments:450: _vim_files: function definition file not found
个人解决办法是,直接删除~/.zcompdump
文件,可是不知道会不会影响其余插件的功能。
举个栗子?,以前偶尔须要用到删除文件夹的操做,rm -r [path]
,可是经常会忘记中间的参数是什么,如今我只须要这么作:
# 输入 rm - , 而后按tab rm - -R -r -- remove directories and their contents recursively -f -- ignore nonexistent files, never prompt -i -- prompt before every removal
对于这种低频的操做来讲很是方便,不须要再使用man
来查询。
另外一个我很喜欢的地方就是当处于Git版本控制
目录下时,有很是贴心的版本相关信息,包括当前所在分支,本地代码提交状况等(SVN
好像没有这个功能,不知是我姿式不对仍是能够经过其余插件得以实现类似功能),同时对Git
精简了不少命令。
还有,cd
敲太可能是不是烦了?在oh-my-zsh
中进入某个路径不须要带cd
。
以上就是使用了一天的成果了,期待有更多更好玩的发现!
最后讲一句,开源大法好!!!开源大法好!!!开源大法好!!!