为什么要用 Mac
作为一名运维工程师,远程登录服务器是每天工作一大头,一个高效便捷的工作环境将大大提升工作效率节省时间。今天向大家介绍的就是Mac下的 iTerm + Zsh + Tmux
,这一套环境将我们的注意力高度集中在键盘上,减少手指在键盘与触摸板中移动的频率和时间,更佳专注于文本编辑,长久使用还能形成肌肉记忆。
为什么要 Mac 呢?
先说下三大平台对比:
- Windows: 原生不支持SSH(未来PowerShell将支持),客户端有 XShell, SecureCRT, Putty…等,基本功能满足但功能有限;
- Linux: 原生支持 SSH,桌面 Terminal 功能有限,无法在同一窗口打开多个标签页,本地和服务端同时使用 Tmux 时会出现快捷键冲突等;
- OSX: 原生支持SSH,iTerm功能丰富,个人认为最好用的客户端。还有 Mac 的最大优势就是 GUI 和命令行的完美结合!
人生苦短,我用 Mac。
iTerm
让命令行也能丰富多彩
iTerm 是一款完全免费,在 GPLv2 下发布的,转为 Mac OSX 用户打造的命令行应用。我们可以打开它的 官方网站 看一看,简单下载安装之后就可以开始 iTerm 之旅了。
主题配色
|
|
进入配色方案面板后,在右下角下拉框中有几种配色方案供我们选择,比如黑色风格、白色风格、深蓝风格…等等。
选择文本
iTerm 提供一种脱离触摸板也可以选择文本的机制,叫做 搜索 + Tab
,不要小看这个细微的功能,它能让你保持专注。
我们在使用命令行的时候,经常会要去选择命令行中的文本复制粘贴。就比如说 ping 命令, 我们用 ping 命令来获取一个域名解析后的 IP。
相信大家都有过这样的体验:ping 命令得到 IP 后,我们想要把它复制下来,我们只能通过在触摸板上三指滑动精确选中这段 IP(或在 IP 中间单指快速轻点两次)。频繁的在键盘和触摸板之间切换,很会影响我们的注意力。
iTerm 提供一个好的办法,我们只需 Cmd + F
调出搜索框,然后输入这段 IP 的前缀,然后按下 Tab
键补全,iTerm就自动帮我们把这段 IP 选中,并且自动复制到剪贴板中了。
一键调出命令行
我们有时会临时需要用命令行执行某一个操作,然后就不需要了。虽然可能 iTerm 时常都在运行,但单屏状态下经常切换桌面也会让人觉得眼花缭乱。
|
|
将 Hotkey 选项下的复选框选中,并且设置一个快捷键,比如我这里设置的是 Cmd + \
,toggle 下拉框中选择 Hotkey window
。
稍后在我们临时需要使用命令行的时候,只需按下刚才定义的快捷键,神奇的事情就发生了!
行标记
这个功能简单来说就是,我们在某一行按下Cmd + Shift + M
将这行标记。随后在需要的时候,可以按下 Cmd + Shift + J
立即跳回这行。
正则表达式搜索
这个就不用多说了吧,你可以任性地搜索,专为极客们准备。只需在调出搜索界面的时候,将 Regular Expression
选项钩上,就可以使用正则表达式进行搜索了。
剪贴板历史记录
这也是个很方便的特性。iTerm 能够将我们在使用命令行过程中所有的复制粘贴操作保存下来,当我们按下 Cmd + Shift + H
就可以列出这些记录。
快照返回
iTerm 的快照返回功能就是当你按下 Cmd + Option + B
时,会在界面上显示一个时间轴,可以通过键盘的左右箭头控制时间轴,同时 iTerm 上的命令行界面也随着变化成你选中的时间点的内容。
这个功能对于重新执行命令,没有 bash 下直接执行 history
或 Ctrl + r
方便;但用它查看内容输出比用 Tmux 回滚方便一些。
iTerm 小结
以上是关于使用 iTerm 一些小的技巧,熟练掌握这些就能一定程度提高我们的工作效率。可能刚开始你并不能记住这些功能,但当你正在做某个低效的动作时,想起曾经看过相应的解决办法,回过头来掌握这个方法,这样印象就比较深刻了。也可以自己发掘一些高效的功能,让你的工作越来越得心应手!
Zsh
目前常用的 Linux 发行版和 OSX 系统默认的 SHell 都是 bash,但是 OSX 预装了 Zsh,所以我们可以直接运行以下命令来设置当前用户使用 zsh。
|
|
Linux 用户可以使用相应的包管理工具安装 Zsh。
Windows 用户…去洗洗睡吧。
安装 Oh My Zsh
Zsh 虽然很强大,但是由于配置过于复杂,所以少有人使用。我们可以直接使用老外开发的 Oh My Zsh
这个项目来帮助我们快速上手配置 Zsh。
自动安装
|
|
手动安装
|
|
安装完成后打开一个新的终端窗口,就可以见到如下彩色提示。
配置 Oh My Zsh
TODO
Tmux
Tmux是一个优秀的终端复用软件,类似GNU Screen。通过一个终端登录并运行tmux后,在其中可以开启多个控制台而无需开启多个终端,且tmux在后台运行,每次登录tmux即可继续上次工作进度。
安装 Tmux
各平台下相应的包管理工具可直接安装,或登录tmux.github.io下载。
配置 Tmux
tmux默认配置在用户目录下.tmux.conf,可参考如下我的配置。
使用 Tmux
创建session
|
|
查看session
|
|
登录session
|
|
挂起session
|
|
如果使用了我上面链接的配置
创建window
|
|
选择window
|
|
分割pane
|
|
横向分隔pane
|
|
选择pane
|
|
更多功能可自行挖掘。
TODO