iTerm配置
# 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
2
3
# 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 运行的通常二者设置大致相同,所以通常前者会调用后者。
# 2. 安装oh-my-zsh
oh-my-zsh (opens new window)更强大的命令行工具,解放双手,比系统自带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
2
3
4
5
6
7
8
安装好之后,选择一款Powerline字体了:iterm2 -> Preferences -> Profiles -> Text -> Font -> Change Font
(我用的是Meslo LG)
# 2.3 修改iterm主题
官方主题大全 (opens new window) ~/.zshrc
更换主题ZSH_THEME="agnoster"
# 2.4 安装配色库
git clone git@github.com: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
3
4
# 2.5.2 命令自动补全
1. homebrew安装
- 执行
brew install zsh-autosuggestions
- 安装成功后:
#编辑配置文件
vim ~/.zshrc
#在最后一行增加下面的代码
source /usr/local/share/zsh-autosuggestions/zsh-autosuggestions.zsh
#退出编辑后执行使配置生效
source ~/.zshrc
2
3
4
5
6
7
8
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
2
3
4
5
6
7
8
9
10
按下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
2
3
4
5
6
7
8
# 3.1.2 方式2:git命令安装
#github镜像
git clone git://github.com/joelthelion/autojump.git
#进入目录,执行安装命令
./install.py
2
3
4
5
在安装过程中,会在~/下建立.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
2
3
4
5
6
7
8
安装成功后,进行如下操作:
#编辑配置文件
vim ~/.zshrc
#找到plugins配置,在括号内增加autojump,与其他插件之间使用空格分隔开
plugins=(autojump)
#在文件最后一行或者plugins=()后另起一行添加如下内容
[[ -s ~/.autojump/etc/profile.d/autojump.sh ]] && . ~/.autojump/etc/profile.d/autojump.sh
#退出编辑后执行使配置生效
source ~/.zshrc
2
3
4
5
6
7
8
9
10
11
# 3.2 验证安装成功
autojump --version
# 3.3 使用
1. j 跳转到指定目录下
j ~/Desktop/dxlWorkspace # 跳转到~/Desktop/dxlWorkspace目录下,下次直接输入 j dxl就可以直接跳转
2. jo
跳转到该目录,并使用终端打开,相当于cd ~/Desktop/dxlWorkspace && open ./
jo ~/Desktop/dxlWorkspace
- 查看记忆权重
j --stat
这个工具优点在于能记忆每次输入跳转,每条记忆记录都有权重,方便下次用更简洁的命令,达到目录跳转的目的。