前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Mac Terminal emulator 终端神器

Mac Terminal emulator 终端神器

作者头像
louiezhou001
发布2021-11-01 15:44:02
2K0
发布2021-11-01 15:44:02
举报

Mac系统默认是自带终端的, 但用过之后你会发现功能仅能满足一些常规任务, 稍微有点要求的我们依然无法满足,于是我们就在寻找其他合适的利器。

于是iTerm2 登场了 。

iTerm2 可以说是mac终端的上的一个佼佼者, 如何厉害请往下看。

  1. 安装
    1. 安装就不多说了, 去官网下载最新版本 https://iterm2.com/downloads.html
    2. 或者使用homebrew 命令行安装
代码语言:javascript
复制
$brew cask install iterm2

打开ITerm2 会看到这样一句欢迎词:

iTerm2 is a terminal emulator for macOS that does amazing things. 还是比较振奋人心的。

  1. 配置

一. 主题

  1. 常用的主题是:Solarized Dark theme 也可以去这里找找https://ethanschoonover.com/solarized/
  2. 下载的是压缩文件,你先解压一下,然后打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles -> Colors -> Color Presets -> Import,选择刚才解压的solarized->iterm2-colors-solarized->Solarized Dark.itermcolors文件,导入成功,最后选择 Solarized Dark 主题,就可以了。

二. zsh

我使用的curl命令行安装

代码语言:javascript
复制
$sh -c "$(curl-fsSLhttps://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"

安装好之后,需要把 Zsh 设置为当前用户的默认 Shell(这样新建标签的时候才会使用 Zsh):

代码语言:javascript
复制
$ chsh -s /bin/zsh

然后,我们编辑vim ~/.zshrc文件,将主题配置修改为ZSH_THEME="agnoster"

agnoster是比较常用的 zsh 主题之一,你可以挑选你喜欢的主题,zsh 主题列表:https://github.com/robbyrussell/oh-my-zsh/wiki/themes

三. 字体

使用上面的主题,需要 Meslo 字体支持,要不然会出现乱码的情况,字体下载地址:Meslo LG M Regular for Powerline.ttf下载好之后,直接在 Mac OS 中安装即可。然后打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles -> Text -> Font -> Chanage Font,选择 Meslo LG M Regular for Powerline 字体。

当然,如果你觉得默认的12px字体大小不合适,可以自己进行修改。

另外,VS Code 的终端字体,也需要进行配置,打开 VS Code,按Command + ,键,打开用户配置,搜索fontFamily,然后将右边的配置增加"terminal.integrated.fontFamily": "Meslo LG M for Powerline"

示例:

四. 高亮(highlight)

使用 Homebrew 安装:

代码语言:javascript
复制
$ brew install zsh-syntax-highlighting

安装成功之后,编辑vim ~/.zshrc文件,在最后一行增加下面配置:

代码语言:javascript
复制
source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh

五. 自动填充

可以方便我们快速的敲命令。

配置步骤,先克隆zsh-autosuggestions项目,到指定目录:

代码语言:javascript
复制
$ git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

然后编辑vim ~/.zshrc文件,找到plugins配置,增加zsh-autosuggestions插件。

声明高亮,如果配置不生效的话,在plugins配置,再增加zsh-syntax-highlighting插件试试。

有时候因为自动填充的颜色和背景颜色很相似,以至于自动填充没有效果,我们可以手动更改下自动填充的颜色配置,我修改的颜色值为:586e75

示例:

六. 左右键跳转

主要是按住option + → or ←键,在命令的开始和结尾跳转切换,原本是不生效的,需要手动开启下。

打开 iTerm2,按Command + ,键,打开 Preferences 配置界面,然后Profiles → Keys → Load Preset... → Natural Text Editing,就可以了。

七. 快速隐藏和显示

就是通过快捷键,可以快速的隐藏和打开 iTerm2,示例配置(Commond + .):

八. 用户名和主机名隐藏

有时候我们的用户名和主机名太长,比如我的louie@louieMacBook-Pro,终端显示的时候会很不好看(上面图片中可以看到),我们可以手动去除。

编辑vim ~/.zshrc文件,增加DEFAULT_USER="louie"配置

我们可以通过whoami命令,查看当前用户,效果(另外分屏的效果):

九. 配置代理

编辑~ vim ~/.zshrc,增加下面配置(使用的 shadowsocks):

代码语言:javascript
复制
# proxy list
alias proxy='export all_proxy=socks5://127.0.0.1:1086'
alias unproxy='unset all_proxy'

iTerm2 需要新建标签页,才有效果:

代码语言:javascript
复制
$ proxy
$ curl ip.cn
当前 IP:xxx.xxx.xxx.xxx 
$ unproxy
$ curl ip.cn
当前IP:xxx.xxx.xxx.xxx

我们可以测试下:

代码语言:javascript
复制
$ curl https://packages.cloud.google.com/yum/repos/kubernetes-el7-x86_64
<html>
<head>
<title>Directory listing for /yum/repos/kubernetes-el7-x86_64/</title>
</head>
<body>
<h2>Index of /yum/repos/kubernetes-el7-x86_64/</h2>
<p></p>
<a href="/yum/repos/kubernetes-el7-x86_64/repodata">repodata</a><br />
</body>
</html>

十. 快捷键

快捷命令说明:

命令

说明

command + t

新建标签

command + w

关闭标签

command + 数字 command + 左右方向键

切换标签

command + enter

切换全屏

command + f

查找

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

搜索命令历史

3.查考资料

https://cnbin.github.io/blog/2015/06/20/iterm2-kuai-jie-jian-da-quan/ 快捷命令大全

https://gist.github.com/kevin-smets/8568070 (推荐)

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2021-10-26,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 测试工程师成长之道 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档