1. 更换shell解析器
shell是命令解析器,mac常见的zsh与bash都是shell的一种,zsh基本能兼容bash,加上oh-my-zsh工具,推荐使用zsh。
1.1 查看与切换
echo $SHELL # 查看当前使用shell
chsh -s /bin/bash # 切换为bash
chsh -s /bin/zsh # 切换为zsh
1.2 配置文件位置
bash读取的配置文件:~/.bash_profile文件
zsh读取的配置文件:~/.zshrc文件
当从bash切换为zsh时,如果不想重新配置一遍.zshrc文件,可以__在.zshrc文件中加上source ~/.bash_profile,从而直接从.bash_profile文件读取配置。
1.3 脚本生效
当对配置文件做修改后,应执行source ~/.bash_profile (拿.bash_profile举例),这样系统才能读取到最新配置。
1.4 环境变量文件解释
/etc/profile:(单用户系统环境变量) 此文件为系统的每个用户设置环境信息,当用户第一次登录时,该文件被执行. 并从/etc/profile.d目录的配置文件中搜集shell的设置。)
/etc/bashrc: (单用户变量)为每一个运行bash shell的用户执行此文件.当bash shell被打开时,该文件被读取(即每次新开一个终端,都会执行bashrc)。
~/.bash_profile:(每个用户环境变量) 每个用户都可使用该文件输入专用于自己使用的shell信息,当用户登录时,该文件仅仅执行一次。默认情况下,设置一些环境变量,执行用户的.bashrc文件。
~/.bashrc: 该文件包含专用于你的bash shell的bash信息,当登录时以及每次打开新的shell时,该该文件被读取。
~/.bash_logout: 当每次退出系统(退出bash shell)时,执行该文件. 另外,/etc/profile中设定的变量(全局)的可以作用于任何用户,而~/.bashrc等中设定的变量(局部)只能继承 /etc/profile中的变量,他们是"父子"关系。
~/.bash_profile: 是交互式、login 方式进入 bash 运行的~/.bashrc 是交互式 non-login 方式进入 bash 运行的通常二者设置大致相同,所以通常前者会调用后者。
扫描二维码关注公众号,回复: 16374912 查看本文章
2. 安装oh-my-zsh
oh-my-zsh更强大的命令行工具,解放双手,比系统自带bash更加酷炫、高效,可以实现更强大的命令补全,命令高亮等一系列酷炫功能。同时支持各种自定义选项,并支持扩展。
2.1 安装
sh -c "$(curl -fsSL https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
2.2 为系统安装自体库,供iterm选择
# clone
git clone https://github.com/powerline/fonts.git --depth=1
# install
cd fonts
./install.sh
# clean-up a bit
cd ..
rm -rf fonts
安装好之后,选择一款Powerline字体了:iterm2 -> Preferences -> Profiles -> Text -> Font -> Change Font(我用的是Meslo LG)
2.3 修改iterm主题
~/.zshrc更换主题ZSH_THEME="agnoster"
2.4 安装配色库
git clone [email protected]:mbadolato/iTerm2-Color-Schemes.git
更换配色方案:iterm2 -> settings -> Profiles -> Text -> Colors -> Change Colors -> import -> iTerm2-Color-Schemes/schemes/全选导入,选一个自己喜欢的配色方案。
2.5 安装插件
2.5.1 命令行高亮
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
echo "source ${(q-)PWD}/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh" >> ${ZDOTDIR:-$HOME}/.zshrc
# ${(q-)PWD} 的含义是将当前工作目录的路径作为一个变量,并对该变量进行引号转义,以便在后续的 shell 命令中使用。
# 最终输入结果:source /Users/liang/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh
2.5.2 命令自动补全
1. homebrew安装
执行brew install zsh-autosuggestions
安装成功后:
#编辑配置文件
vim ~/.zshrc
#在最后一行增加下面的代码
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
#退出编辑后执行使配置生效
source ~/.zshrc
2. git命令安装
git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions
#编辑配置文件
vim ~/.zshrc
#找到plugins配置,在括号内增加zsh-autosuggestions,与其他插件之间使用空格分隔开
plugins=(zsh-autosuggestions)
#退出编辑后执行使配置生效
source ~/.zshrc
按下tab补全命令,效果图:
3. autojump自动跳转工具
autojump提供了一种快速进行文件目录导航的方式。 它会把你在命令行中最常用的目录保存到一个数据库里,然后根据你访问的频次添加不同的权重。
访问越频繁,权重越高,排名就越先前,跳转的命令就越简洁。
注意:目录在通过autojump跳转之前必须先访问,然后在autojump的数据库中才有记录
j是autojump命令的简写,任何可以用autojump的地方都可以以j命令替换
3.1 安装
3.1.1 方式一:homebrew安装
brew install autojump
安装完成后,进行如下操作:
#编辑配置文件
vim ~/.zshrc
#在最后一行增加下面的代码
[ -f /usr/local/etc/profile.d/autojump.sh ] && . /usr/local/etc/profile.d/autojump.sh
#退出编辑后执行使配置生效
source ~/.zshrc
3.1.2 方式2:git命令安装
#github镜像
git clone git://github.com/joelthelion/autojump.git
#进入目录,执行安装命令
./install.py
在安装过程中,会在~/下建立.autojump文件夹,如果github镜像无法下载,请使用gitee镜像下载
#gitee镜像
git clone https://gitee.com/null_454_5218/autojump.git $ZSH_CUSTOM/plugins/autojump
#进入目录autojump中
cd $ZSH_CUSTOM/plugins/autojump
#执行安装命令
./install.py
安装成功后,进行如下操作:
#编辑配置文件
vim ~/.zshrc
#找到plugins配置,在括号内增加autojump,与其他插件之间使用空格分隔开
plugins=(autojump)
#在文件最后一行或者plugins=()后另起一行添加如下内容
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
#退出编辑后执行使配置生效
source ~/.zshrc
3.2 验证安装成功
autojump --version
3.3 使用
j
跳转到指定目录下
j ~/Desktop/dxlWorkspace # 跳转到~/Desktop/dxlWorkspace目录下,下次直接输入 j dxl就可以直接跳转
jo
跳转到该目录,并使用终端打开,相当于cd ~/Desktop/dxlWorkspace && open ./
jo ~/Desktop/dxlWorkspace
查看记忆权重
j --stat
这个工具优点在于能记忆每次输入跳转,每条记忆记录都有权重,方便下次用更简洁的命令,达到目录跳转的目的。
4. 参考
5. 结语
我是滚石,一名热爱前端的菜鸟程序员,成长路上,欢迎一起交流讨论,一起进步!