Mac上最好用的终端iTerm2

2016/09/26

Mac自带的终端已经十分强大,作为工具控怎么能不关心最常用的命令行呢,我们现在使用iTerm2 + oh my zsh的配置方式让终端焕然一新

iTerm2

  • iTerm2 - Mac上最好的终端

下载

iTerm2官方地址

  • 主题设置

Preferences -> Profiles -> Default -> Colors -> Load Presets

优秀主题

主题大全

  • 去除粗体与颜色限制

Preferences -> Profiles -> Text -> Text Rendering

取消勾选Draw bold text in bright colorsDraw bold text in bold font

常用快捷键

常用  
command + f 查找
command + ; 自动补全
command + shift + h 显示历史
command + r 清屏
窗口  
command + t 新建页面
command + n 新建窗口
command + ←、→、{、} 切换页面
command + shift + d 水平分隔
command + d 垂直分隔
command + option + e 展示所有窗口
command + enter 切换全屏
command + 数字 切换标签页
其他  
command + / 高亮当前鼠标的位置
command + option + b 时间轴快照返回
ctrl + u 清除当前行
ctrl + a 到行首
ctrl + e 到行尾
ctrl + f/b (相当于左右方向键) 前进后退
ctrl + p 上一条命令
ctrl + r 搜索命令历史
ctrl + d 删除当前光标的字符
ctrl + h 删除光标之前的字符
ctrl + w 删除光标之前的单词
ctrl + k 删除到文本末尾
ctrl + t 交换光标处文本
command + r 清屏1
ctrl + l 清屏2

oh my zsh

  • oh my zsh - 以最简洁的0学习成本使用最强大的shell版本zsh

简介

  • 系统默认shell
cat /etc/shells

显示如下

/bin/bash
/bin/csh
/bin/ksh
/bin/sh
/bin/tcsh
/bin/zsh

zsh为终极shell,配置复杂,国外有个穷极无聊的程序员开发出了一个能够让你快速上手的zsh项目,叫做”oh my zsh”

oh my zsh地址

如果你懒得去github下载,直接复制下面这货到命令行进行安装

sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装完后系统默认使用zsh的shell,并且可以查看版本

zsh --version

使用

安装完后会提示你查看~/.zshrc,你可以在这个文件里新增别名设置,比如使用vim去打开某些文件:

alias cls='clear'
alias ll='ls -l'
alias la='ls -a'
alias vi='vim'
alias javac="javac -J-Dfile.encoding=utf8"
alias grep="grep --color=auto"
alias -s html=mate   # 在命令行直接输入后缀为 html 的文件名,会在 TextMate 中打开
alias -s rb=mate     # 在命令行直接输入 ruby 文件,会在 TextMate 中打开
alias -s py=vi       # 在命令行直接输入 python 文件,会用 vim 中打开,以下类似
alias -s js=vi
alias -s c=vi
alias -s java=vi
alias -s txt=vi
alias -s gz='tar -xzvf'
alias -s tgz='tar -xzvf'
alias -s zip='unzip'
alias -s bz2='tar -xjvf'

具体设置可以查看终极Shell-ZSH

备注:

chsh -s /bin/zsh	// 修改当前shell为zsh
echo $SHELL			// 查看当前shell

主题

默认使用

ZSH_THEME="robbyrussell"

oh my zsh自带的主题存放在目录~/.oh-my-zsh/themes

我们可以在./zshrc快速修改并查看

ZSH_THEME="lambda"
echo $ZSH_THEME

在此献上所有主题的样式预览oh my zsh主题

备注:

DISABLE_AUTO_UPDATE="true" //是否自动更新

插件

  • autojump - 快速跳转到目录

autojump第五点介绍、安装及使用

  • extract - 强大的解压插件
x		// 可解压所有类型文件
  • sublime - 默认使用sublime打开
st			// 直接打开sublime
st file_a	// 用sublime打开文件 file
st dir_a	// 用sublime打开目录 dir
stt			// 在sublime打开当前目录,相当于 st .

修改方式为./zshrc文件中添加需要的插件即可

plugins=(git)改为

plugins=(git autojump extract sublime)

修改后输入以下命令立即生效

source ~/.zshrc

Tmux - 多控制台的终端复用软件

使用homebrew安装Tmux

官方地址

安装完毕后输入tmux进入tmux模式

  • 激活控制台;此时以下按键生效
Ctrl+b

常用快捷键

系统操作  
? 列出所有快捷键;按q返回
d 脱离当前会话;这样可以暂时返回Shell界面,输入tmux attach能够重新进入之前的会话
D 选择要脱离的会话;在同时开启了多个会话时使用
Ctrl+z 挂起当前会话
r 强制重绘未脱离的会话
s 选择并切换会话;在同时开启了多个会话时使用
: 进入命令行模式;此时可以输入支持的命令,例如kill-server可以关闭服务器
[ 进入复制模式;此时的操作与vi/emacs相同,按q/Esc退出
~ 列出提示信息缓存;其中包含了之前tmux返回的各种提示信息
窗口操作  
c 创建新窗口
& 关闭当前窗口
数字键 切换至指定窗口
p 切换至上一窗口
n 切换至下一窗口
l 在前后两个窗口间互相切换
w 通过窗口列表切换窗口
, 重命名当前窗口;这样便于识别
. 修改当前窗口编号;相当于窗口重新排序
f 在所有窗口中查找指定文本
面板操作  
将当前面板平分为上下两块
% 将当前面板平分为左右两块
x 关闭当前面板
! 将当前面板置于新窗口;即新建一个窗口,其中仅包含当前面板
Ctrl+方向键 以1个单元格为单位移动边缘以调整当前面板大小
Alt+方向键 以5个单元格为单位移动边缘以调整当前面板大小
Space 在预置的面板布局中循环切换
q 显示面板编号
o 在当前窗口中选择下一面板
方向键 移动光标以选择面板
{ 向前置换当前面板
} 向后置换当前面板
Alt+o 逆时针旋转当前窗口的面板
Ctrl+o 顺时针旋转当前窗口的面板

注:Space循环切换依次包括even-horizontal、even-vertical、main-horizontal、main-vertical、tiled

Post Directory