【笔记】MAC下使用iTerm2和zsh

应该说Terminal终端是程序员经常会用到的工具,大家时不时的都要使用终端来敲上几行命令行,尤其是在Mac上,很多工具的使用都是通过Terminal来进行的。但是其实Mac自带的终端不是特别方便,今天我们将会使用iTerm2来替代Terminal终端。整体的搭配组合为:iTerm2+Oh my zsh +zsh

  iTerm2是Terminal的替代品,是一款比较小众的软件,比Terminal优秀太多了。下载官网为[http://www.iterm2.cn/](http://www.iterm2.cn/),下载后直接安装即可。iTerm2可以设置主题,支持画面分隔、各种快捷键。Mac默认使用的shell是[bash](https://www.baidu.com/s?wd=bash&tn=24004469_oem_dg&rsv_dl=gh_pl_sl_csd),我们可以换成zsh,搭配iTerm2使用,用起来十分顺手。

(1)现在假设大家都安装了iTerm2,我们先把bash切换成zsh,使用命令行如下:

chsh -s /bin/zsh

执行命令后,会让你输入电脑的密码,输入即可。完成后,需要完全退出iTerm2,再次进入时,就已经从bash切换到zsh了。当然,如果你哪一天又想用bash了,也可以使用下列命令:

chsh -s /bin/bash

切换成功后,退出,再次进入的时候就切换bash成功了,相互切换是不是很方便呢?

如果你想看看自己的机子上装了哪些shell,可以使用如下命令:

cat /etc/shells

我的显示如下:

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

(2)安装 oh my zsh

Zsh和bash一样,是一种Unix shell,但大多数Linux发行版都默认使用bash shell。但Zsh有强大的自动补全参数和自定义配置功能等等,Github地址:https://github.com/robbyrussell/oh-my-zsh,可以让我们非常快速的上手zsh。不得不说,这个oh my zsh真的是牛逼哄哄,去看看上面的star就知道了。个人推荐使用curl自动安装,执行命令行如下:

curl -L https://github.com/robbyrussell/oh-my-zsh/raw/master/tools/install.sh | sh

(3)至此,iTerm2安装完毕、zsh已经切换成功、oh my zsh也已经安装OK。大家命令行的效果就应该如我上图所示了。是不是我们这篇博客就应该结束了呢?这样的话我们这篇博客的意义就不大了。下面我们来详细的讲讲如何高逼格的使用iTerm2,让我们的工作效率高起来。

【1.选中即复制】

在iTerm2中,直接用鼠标选中某个单词或者一行命令,那么就已经被复制了。不需要在去按command+C命令了。

【2.屏幕分隔】

这个是我最喜欢的iTerm2的功能,分隔成多个屏幕,只要你电脑的屏幕足够大,想分多少个屏幕都可以。可以同时进行命令行操作,而不会像只有在一个屏幕时,因为一个命令或者网络下载阻塞了,而不能执行其他命令了。如果你同时想去执行很多命令,那么,do it.

command+d:垂直分割;

command+shift+d:水平分割

image

【3.快速唤出】

这个同样是我很喜欢的功能,炫酷到无法阻挡。设置好系统热键之后,只要按快捷键,iTerm2就会从顶部以半透明的形式快速唤出,相当炫酷高效。个人因为经常使用iTerm2,所以设置了热键为:option+空格键。大家也可以根据自己的喜好设置快捷键。

image

使用快捷键快速唤出的效果。。。貌似是直接浮动在窗口上的,我截不了屏。。。大家尝试去感受下。

【4.显示复制历史】

使用快捷键shift+command+h,快速显示出我复制过的历史记录,你可以快速选择使用。

image

【5.全屏切换】

command+enter,可以快速实现全屏与正常窗口大小的切换,非常方便。

    好了,写到这里我差不多要收手了,装逼到此结束。对于我来说,上面的东西差不多刚好够我用了。当然,zsh被称为“终极shell”,你可以花好长时间去学习它,我作为iOS开发,暂时没这个打算了。。。还有"Oh my zsh"这个东东,可以配置主题,插件等等,我这里只是抛砖引玉罢了,大家可以根据自己的需求继续去学习。

修改主题

zsh的配置文件是~/.zshrc,每次打开终端时,这个脚本都会执行,修改该文件的ZSH_THEME字段,配置主题

ZSH_THEME="agnoster"

同时将agnoster主题下载下来,拷贝到~/.oh-my-zsh/themes目录下

$ wget https://gist.githubusercontent.com/agnoster/3712874/raw/c3107c06c04fb42b0ca27b0a81b15854819969c6/agnoster.zsh-theme
$ mv agnoster.zsh-theme ~/.oh-my-zsh/themes/agnoster.zsh-theme

修改配色

我使用的是solarized配色方案,你可以从这里下载:
solarized.zip解压缩后,请在 iTerm 里按command+,(逗号)快捷键,打开Preferences(选项)对话框

Preferences -> Profiles -> Colors -> Color Presets -> Import

导入iterm2-colors-solarized目录下的两个.itermcolors文件,修改配色方案

Preferences -> Profiles -> Colors -> Color Presets

选择Solarized Dark

image

配置字体

首先配置字体编码,修改~/.zshrc文件,将字体编解码方式修改为UTF-8

export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8

下载并安装Powerline字体,继续打开iTerm2的选项

Preferences -> Profiles -> Text -> Change Font

换成Menlo字体,字号14

image

新打开一个iTerm2 Tab,就可以看到效果了。

快捷键设置

这里说的快捷键主要是光标移动的快捷键,因为熟练使用这些快捷键会提升工作效率。iTerm2需要配置的地方不多,我就设置了两个地方,使光标可以以单词为单位移动:

  1. 使光标移动到右边单词的首字符
  2. 使光标移动到左边单词的首字符

依然是打开iTerm2的选项

Preferences -> Profiles -> Keys -> 添加快捷键(+号)

image

设置光标前进一个单词的快捷键

image

继续添加快捷键,设置光标回退一个单词的快捷键

image

于是,当你需要敲一串很长的命令时,不巧其中某个选项需要修改,在配置完以上快捷键后,你可以键入option + foption + b完成以单词为单位的移动,这样移动速度会快很多。

其他常用的快捷键

  • Ctrl + a:将光标移动到命令行首
  • Ctrl + e:将光标移动到命令行尾
  • Ctrl + w:删除光标前的一个单词
  • Ctrl + u:删除所有内容
  • Ctrl + y:粘贴上次删除的内容
  • Ctrl + f:光标向右移动一个字符
  • Ctrl + b:光标向左移动一个字符
  • Ctrl + r:搜索历史命令

以上是我常用的一些快捷键,赶紧练练手吧。也欢迎在留言区补充其他Tips。

补充

ssh保活(keepalive)配置

当你使用ssh客户端连接公司服务器时,很有可能会出现闲置一段时间后,被服务器断开的情况,这是运维部门的一种安全策略。但这种被动断开很可能会影响到自己的工作上下文,例如你运行了一个耗时较长的脚本,或用vim打开了一个文本文件,如果此时远程服务器断开了你的连接,你的工作就被中断了,且无法恢复,这种体验非常糟糕。

怎样才能让iTerm2帮你保持连接呢?其实这事儿也不是iTerm2来完成的,而是ssh客户端本身来完成的,修改~/.ssh/config文件,如下

Host *
    ServerAliveInterval 10

上述设置意为对任何一个ssh连接,每10秒发送一个no-op包,意思是即使你不做任何操作,也可以起到心跳保活的效果。

作者:冯雅杰
链接:https://www.jianshu.com/p/bb630ada1f02
来源:简书
简书著作权归作者所有,任何形式的转载都请联系作者获得授权并注明出处。

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,324评论 5 476
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,303评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,192评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,555评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,569评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,566评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,927评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,583评论 0 257
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,827评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,590评论 2 320
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,669评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,365评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,941评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,928评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,159评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 42,880评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,399评论 2 342

推荐阅读更多精彩内容