楓尘君不用不知道,原来Mac用zsh+iterm2竟然是如此的好用,丝丝顺滑,再用苹果的终端已然索然无味。
下面废话不多说,搞起来:
注:有多种安装zsh的方法,使用使用 brew或者wget等等,本文主要介绍git方式手动安装,毕竟手动才会有更大乐趣不是~
-
1.git手动安装:
git clone git://github.com/robbyrussell/oh-my-zsh.git ~/.oh-my-zsh
-
2.如果你已存在~/.zshrc文件,则备份现有zshrc文件(以防万一,备用)
cp ~/.zshrc ~/.zshrc.orig -
3.创建一个新的zsh配置文件(以防万一,备用)
cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc -
4.改变默认的Shell
chsh -s /bin/zsh
注:将ZSH设置为默认的shell(bash切换为zsh)
chsh -s /bin/zsh
如果要切换回去:
chsh -s /bin/bash
- 5.将bash(之前系统默认)的环境变量转移到zsh上
为什么要转移:
安装zsh后,默认情况下就不会自动读取~/.bash_profile了。而是运行在用户目录下应该有.oh-my-zsh目录,和.zshrc配置文件。在zsh中按照上面的流程 只能设置临时的环境变量,如果退出终端,又将恢复系统默认的环境变量(bash)。
如何解决:
由于每次zsh启动都会读取这个配置文件,所以我们可以把环境变量的配置信息放到这个配置文件中,这样每次启动zsh的时候,就会执行一次环境变量配置信息。
1.打开vim ~/.zshrc 将你要配置到环境变量配置到该文件中即可
2.打开vim ~/.zshrc 添加source ~/.bash_profile ,这样~/.bash_profile配置的环境变量同样有效
目前为止,zsh就安装好了,但是这只是最基础的,这么牛批的东西怎么可能没有后续sao操作呢
- 6.配置zsh
Zsh 的配置文件中提供了详细的注释,你可以根据注释修改相关设置,满足自己的要求。
根据前面的注释,删除行前的注释符号 # 即可。
vi ~/.zshrc 进入配置文件
设置别名
alias zshconfig='vi ~/.zshrc'
alias vimconfig='vi ~/.vimrc'
alias ll='ls -l'
alias vi='vim'
alias subl='open -a "Sublime Text"'
启用命令纠错功能
# Uncomment the following line to enable command auto-correction.
ENABLE_CORRECTION="true"
你想关闭 Zsh 的自动更新,
DISABLE_AUTO_UPDATE="true"
插件 git osx 是系统自带的只需要在.zshvr中启用,命令如下:
plugins=(git osx)
更多插件请看下文....
保存,然后执行
source ~/.zshrc
- 6.设置主题
查看现有主题:
cd ~/.oh-my-zsh/themes && ls
可以看到许多:xxxx.zsh-theme的主题名称
例如:3den.zsh-theme
设置主题:
vi ~/.zshrc
ZSH_THEME="3den"
就是用了上面得3den.zsh-theme主题了
我们还可以随机设置主题:
找到:ZSH_THEME并修改
ZSH_THEME="random"
这样就可以每次打开终端主题是随机的,
个人强烈推荐,这样会让你在操作命令行时不至于太枯燥和审美疲劳。
注:有些的主题可能需要一些额外的配置。
例如,为了使用 agnoster 主题,你必须先安装 Powerline 字体。具体请自行google。
如果不喜欢现有的140个主题,可以去主题网站上下载,在修改配置文件即可:
更多主题选择链接
- 7.安装插件
插件是zsh区别于bash最大的,zsh支持海量插件可供选择,提高工作效率:
插件的目录 可以访问 cd ~/.oh-my-zsh/plugins
1) 安装autojump插件
什么是autojump插件呢?
在命令行中切换目录是最常用的操作,不过很少有比一遍又一遍重复“cd ls cd ls cd ls ……”更令人沮丧的事情了。如果你不是百分百确定你想要进入的下一个目录的名字,那么你不得不使用ls来确认,然后使用cd来进入你想要进的那一个。所幸的是,现在大量的终端和shell语言提供了强大的自动补全功能来处理该问题。但是,你仍然需要一直疯狂地敲击TAB键来干这事。如果你和我一样懒惰,你一定会对autojump感到惊喜。
autojump是一个命令行工具,它允许你可以直接跳转到你喜爱的目录,而不用管你现在身在何处。(描述来自于https://blog.csdn.net/wzz443777878/article/details/52758702)
如何安装
说一千道一万,来,赶快整起来:
安装autojump:
brew install autojump(确保有brew)
使用vi ~/.zshrc打开.zshrc
a. 找到 plugins=,在后面添加
autojump:plugins=(xxx autojump) 注:xxx不重要,只需要在后面加上 “空格”autojump
安装了autojump之后,
zsh 会自动记录你访问过的目录,通过 j + 目录名 可以直接进行目录跳转,
而且目录名支持模糊匹配和自动补全,例如你访问过wahaha-1.0.0目录,
输入j waha 即可正确跳转。j –stat 可以看你的历史路径库。
添加一条快捷键:j -a s '/Users/XXX/Desktop/code/shark’
这句代码的含义:j -a 你定义的快捷命令 ‘需要跳转的目录位置’
此后要是想进入shark目录,除了传统的cd一级一级的进入,还可以直接使用命令:j s
2) 自动补全插件zsh-autosuggestions
使用以下命令安装
git clone git://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
安装好之后可以按→(方向键右)自动补全
3)语法高亮zsh-syntax-highlighting使用以下命令安装
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
这两个模块下载结束,还是使用vi ~/.zshrc 添加
如图:来自博客点击跳转
4)自动补全插件incr
如何下载这个插件:
官网: http://mimosa-pudica.net/zsh-incremental.html
下载网站上的 incr-0.2.zsh
在 oh-my-zsh 目录的插件目录下创建文件夹incr 并将incr-0.2.zsh 拷贝进去
$ cd ~/.oh-my-zsh/plugins
$ mkdir incr
$ cd incr
$ cp /Users/libq/Downloads/incr-0.2.zsh(.zsh存在路径) /Users/liu_bowen/.oh-my-zsh/plugins/incr/
打开vim ~/.zshrc 最后一行添加:
$source ~/.oh-my-zsh/plugins/incr/incr-0.2.zsh
退出更新一下:
source ~/.zshrc
5)z(命令快速跳转目录)插件
z 插件也是 autojump 插件在 oh-my-zsh 内置的类似组件,基本包含所有功能。
官方文档
作用:
使用 z 之后可以让你最快速的切换文件路径。
z 插件记住了你在命令行中跳转过的每个路径,并且记录了每个路径的访问次数,
因此,它常常能猜到你想访问的路径。
记录文件就在用户根目录下,名字是 .z。
说“常常能猜到”,意思是有猜错的时候,比如,不曾访问过的路径,z 插件就不知道,没法跳转。
安装:
默认安装oh my zsh时就已经安装了 z 插件,具体可以在以下目录看到
cd ~/.oh-my-zsh/plugins
所以你只需要在(~/.zshrc)中的插件列表中添加
vim ~/.zshrc
# 再插件列表中添加
plugins=(其他插件 z)
使用
参数 描述
-c 在当前目录下进行子目录匹配
-e echo最合适的匹配和对应的rank,但是不执行cd操作
-h 显示帮助信息
-l echo所有匹配的目录和对应的rank,但是不执行cd操作
-r 进入所匹配目录列表中rank值最高的那个目录
-t 进入所匹配目录列表中最近访问的那个目录
-x 在.z缓存中清除当前目录的记录
例子:
z foo 进入到最匹配的foo关键字的目录
z foo bar 进入层级匹配,先匹配foo关键字,再匹配bar关键字的目录
z -r foo 进入匹配foo关键字目录列表中rank值最高的目录
z -t foo 进入匹配foo关键字目录列表中最近访问的目录
z -l foo 列出所有匹配foo关键字的目录列表
这五个插件基本上就够用了,不够我以后还会补充,估计会鸽!!
- 8.Oh My Zsh的升级
输入upgrade_oh_my_zsh,回车即可
- 9.Oh My Zsh的卸载
输入uninstall_oh_my_zsh,回车即可
- 10.Zsh配置文件的更新
$source ~/.zshrc
Zsh的好搭档 号称终端利器 iterm2
安装 iTerm2
下载地址:https://www.iterm2.com/downloads.html
其优势有:
- 标签变色
- 背景透明
- 智能选中
这里说几个楓尘君个人比较常用的(这里只针对mac):
分屏(非常常用)
⌘ + d: 垂直分屏,
⌘ + shift + d: 水平分屏。
⌘ + ]和⌘ + [在最近使用的分屏直接切换.
⌘ + opt + 方向键切换到指定位置的分屏。
⌘ + 数字: 切换标签页。
⌘ + 方向键 按方向切换标签页。
shift + ⌘ + s: 保存当前窗口快照。
⌘ + opt + b: 快照回放。很有意思的功能,你可以对你的操作根据时间轴进行回放。可以拖动下方的时间轴,也可以按左右方向键
快捷命令说明
命令 说明
command + t 新建标签
command + w 关闭标签
command + f 智能查找,支持正则查找
command + 数字 command + 左右方向键 切换标签
command + enter 切换全屏
command + d 垂直分屏
command + shift + d 水平分屏
command + option + 方向键 command + [ 或 command + ] 切换屏幕
command + ; 查看历史命令
command + shift + h 查看剪贴板历史
ctrl + u 清除当前行
ctrl + l 清屏
ctrl + a 到行首
ctrl + e 到行尾
ctrl + f/b 前进后退
ctrl + p 上一条命令
ctrl + r 搜索命令历史
左右键跳转(快速光标前移/后移)
主要是按住option + → or ←键,在命令的开始和结尾跳转切换,原本是不生效的,需要手动开启下。
打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles → Keys → Load Preset… → Natural Text Editing,就可以了。
字体放大缩小
Command + 加号 Command + 减号
等等,具体可参考
知乎问题:iterm2有什么酷功能?
Mac OS 终端利器 iTerm2