公众号

mac下 iterm+Zsh+Oh My Zsh+tmux 配置方案

iterm的一些优点:

兼容性好,远程服务器 vi 什么的低版本能很好兼容,Terminal 则会出问题 (我是长时间在服务器上混的人,但其实并没有这种感觉~~)
支持 xterm-256 色,方便在终端中配置 vim/emacs 代码配色 (其实Terminal现在已经支持256色了)
快捷键丰富,自带/自己定义都很方便 (这个是关键,快捷键都我非常重要)
分屏简单方便,可以根据自己需要同时搭配上 tmux,大屏用起来爽到爆 (分屏只需要 command +(shift)+ d)
个人常用的快捷键和功能:

1
2
3
4
5
6
7
8
9
10
⌘ + 数字 : 各 tab 标签切换
⌘ + f : 查找 ,所查找的内容会被自动复制 ,输入查找的部分字符,找到匹配的值按tab,即可复制
⌘ + d : 横着分屏
⌘ + shift + d : 竖着分屏
⌘ + r = clear : 换到新一屏,而不是 类似clear ,会创建一个空屏
ctrl + u :清空当前行,无论光标在什么位置
() + ⌘ + ; : [() 输入的命令开头字符],会自动列出输入过的命令
⌘ + shift + h : 会列出剪切板历史
⌘← / ⌘→ : 到一行命令最左边/最右边
⌘ + enter : 全屏

Zsh

Mac 系统自带了 Zsh, 一般不是最新版,如果需要最新版可通过 Homebrew 来安装

1
brew install zsh

可通过 zsh –version 命令查看 Zsh 的版本
使用 echo $ZSH_VERSION 命令查看当前使用的 Zsh 版本

修改默认 Shell

在 /etc/shells 文件中加入如下一行

1
/usr/local/bin/zsh

然后运行命令

1
chsh -s /usr/local/bin/zsh

Zsh配色设置:

  1. 首先在wiki 里找到你中意的皮肤 名称.

然后去 修改 zsh配置文件

1
➜ /Users/zhangzhi >nano .zshrc

然后在配置内容中找到

1
2
# time that oh-my-zsh is loaded.
ZSH_THEME="robbyrussell"

ZSH_THEME 就是指定皮肤的名称.然后把你 wiki 里看中的皮肤名称替换进来就OK了

  1. 也可以去用户目录 .oh-my-zsh 目录下找到 themes 目录
    琳琅满目的皮肤.你可以调一款,可惜不能直接预览出效果….

    然后把你挑中的皮肤名称配置在 .zshrc 文件中的 ZSH_THEME 配置项中.

Oh My Zsh

Oh My Zsh 用来管理 Zsh 配置的,自带了好用的基本配置,基本都是 Zsh 的标配了,你不用再一步步重新配置 Zsh ,节约你的宝贵时间

项目主页:https://github.com/robbyrussell/oh-my-zsh

安装方法见主页,很简单就不说了,下面说说一些常用的好用的功能:
配置文件在

1
~/.zshrc

连续按 tab, 能直接选择文件及文件夹,还可以使用

1
⌃ + n/p/f/b 来选择

直接输入文件名打开文件,可指定不同的后缀名用不同的程序打开
在配置文件中写入

1
alias -s md=mvim

, 表明在命令行中输入 md 后缀的文件名,会用 mvim 打开
又例如:

1
alias -s gz="tar -xzvf"

, 自动解压后缀为 gz 的压缩包
一些常用的压缩方式如下:

1
2
3
4
5
6
alias -s tar="tar -xvf"
alias -s gz="tar -xzvf"
alias -s tgz="tar -xzvf"
alias -s bz2="tar -xjvf"
alias -s zip="unzip"
kill <tab> 会自动列出进程,或者 kill nginx

支持递归,例如

1
ls **/*

列出当前目录下所有文件及目录,并递归目录

使 man 结果高亮显示,在配置文件中写入如下内容:

1
2
3
4
5
6
7
8
# man page highlight
export LESS_TERMCAP_mb=$'\E[01;31m' # begin blinking
export LESS_TERMCAP_md=$'\E[01;38;5;74m' # begin bold
export LESS_TERMCAP_me=$'\E[0m' # end mode
export LESS_TERMCAP_se=$'\E[0m' # end standout-mode
export LESS_TERMCAP_so=$'\E[38;5;246m' # begin standout-mode - info box
export LESS_TERMCAP_ue=$'\E[0m' # end underline
export LESS_TERMCAP_us=$'\E[04;38;5;146m' # begin underline

Oh My Zsh 本身自带了很多插件,不过基本都没有启用,插件目录

1
~/.oh-my-zsh/plugins

例如启用插件 git, autojump osx, 需要在配置文件中加入如下内容

1
plugins=(git autojump osx)

osx 插件

1
2
3
4
man-preview 通过 preview 程序查看一个命令的手册
quick-look 快速预览文件
pfd 返回当前 Finder 打开的文件夹的路径
cdf 切换到当前 Finder 所在的目录

autojump 插件

需要先安装 autojump

1
brew install autojump

使用方法:

j 目录名或目录名的一部分
跳转到最多访问的目录

zsh-autosuggestions 插件:https://github.com/zsh-users/zsh-autosuggestions

Fish 类的自动建议插件

自动建议的字体颜色可能和你终端的颜色相近,你可以将其改成其它的,比如设置为 blue

1
export ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=blue'

tmux

官网:http://tmux.github.io/

一个终端复用软件,可将终端方案化

安装

1
brew install tmux

配置

1
mvim ~/.tmux.conf

并不喜欢反人类的全键盘式操作,而且也没有特别吸引我的点,所以基本不使用

经常连接服务器的人用起来应该挺好用的
比如,在一个窗口中分隔成多个终端同时运行不同的命令
使用 SSH 的时候,在网络不稳定的情况下,可保存工作环境

最后想说:Fork me on GitHub 欢迎 Star

🙈坚持原创技术分享,您的支持将鼓励我继续创作🙈