iTerm 2 + Oh My Zsh

设置iTerm2


1 安装 iTerm2

M1 版本homebrew安装 https://sspai.com/post/63935

brew install iterm2

或者去官网下载

打开 iTerm2 检查 Report Terminal Type 的设定是否为 xterm-256color,这样才能在 terminal 中看到颜色。路径:Preferences > Profiles > Terminal > Report Terminal Type

2 修改 iTerm2 的 color scheme

设定路径:Preferences > Profiles > Colors > Color Presets...

里面内置一些,也可以到 iTerm2 Color Schemes 中下载,然后 将 .itermcolors 文件 import 到 iTerm2 中

3 安装 powerline font

因为一些 theme 会用到特殊的 icon,所以必须选择支持这些特殊 icon 的字体。这些字体统称为 powerline font。
支持 powerline 的字型很多,这里推荐 Meslo LG M 以及 Sauce Code Pro Nerd Font Complete

安装后在 Preferences > Profiles > Text > Font > Change Font 选择安装的字体

设置zsh


1 安装 zsh:

  • 从 macOS Catalina 版开始,zsh (Z shell) 是所有新建用户帐户的默认 Shell,无需安装
  • bashmacOS Mojave 及更低版本中的默认 Shell
echo $0             # 检查当前默认的 shell
cat /etc/shells     # 查看机器上支持哪些 shell
chsh -s /bin/zsh    # 切换到 zsh:

如果没有安装 zsh,可以执行如下操作:

brew install zsh
sudo sh -c "echo $(which zsh) >> /etc/shells" 
chsh -s $(which zsh)

iTerm2 设定路径:Preferences > Profiles > General > Command,改为 /bin/zsh

2 安装 oh-my-zsh:

Oh My Zsh 是对主题的进一步扩展,地址:https://github.com/robbyrussell/oh-my-zsh

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

3 修改 zsh theme

安装好 oh-my-zsh 以后,默认 theme 为 robbyrusselloh-my-zsh 自带很多 theme,可以在oh-my-zsh wiki 上查看截图,agnoster 是比较常用的 zsh 主题之一。

切换theme:编辑 ~/.zshrc 文件,把原本 ZSH_THEME="robbyrussell"改成想要的,然后执行exec $SHELL 立即生效

第三方主题 powerlevel9k / powerlevel10k

powerlevel9k 不只是像上面的示例显示的一些基本资讯,还可以显示 WiFi 信号强度、电池电力、CPU loading、system free memory 等等。

1. powerlevel9k下载

git clone https://github.com/bhilburn/powerlevel9k.git ~/.oh-my-zsh/custom/themes/powerlevel9k

2. powerlevel9k设置主题
编辑 ~/.zshrc ,把 ZSH_THEME 设置为 powerlevel9k,并设置哪些东西可以显示在 command line 上:

ZSH_THEME="powerlevel9k/powerlevel9k"
# command line 左边显示的内容
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir)
# command line 右边显示的内容
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(time)

如果想要看 vcs(vcs 为 version control system 的缩写):

POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir vcs) # 加上 "vcs"

还有非常非常多东西可以用,参考这个列表 https://github.com/bhilburn/powerlevel9k#available-prompt-segments

3 powerlevel10k 下载
powerlevel10k 兼容powerlevel9k,并且速度更快

git clone https://github.com/romkatv/powerlevel10k.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/themes/powerlevel10k

启用配置向导 p10k configure 或者直接使用上面在 ~/.zshrc 中的配置参数

4 卸载 oh-my-zsh

  1. 在命令行输入:uninstall_oh_my_zsh
  2. 进入到.oh-my-zsh/tools 目录,执行 shell 命令 ./uninstall.sh
    提示不让执行 shell 命令解决办法:
    输入 chmod +x uninstall.sh,再执行 ./uninstall.sh,最后删除.zshrc 文件

安装插件及设置技巧


1 语法高亮

特殊命令和错误命令,会有高亮显示。

brew install zsh-syntax-highlighting

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

source /usr/local/share/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh 

最后执行 source ~/.zshrc 加载.zshrc 配置

注:如果配置不生效的话,在 plugins 配置,再增加 zsh-syntax-highlighting 插件试试

2 自动建议填充

比 iTerm2 自带的更强大的命令提示与补全
克隆仓库到本地~/.oh-my-zsh/custom/plugins 路径下

git clone https://github.com/zsh-users/zsh-autosuggestions ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions

然后编辑 ~/.zshrc 文件,修改 plugins=(git)plugins=(zsh-autosuggestions git)
有时因为自动填充的颜色和背景颜色很相似,以至于自动填充没有效果,可以手动在设置里更改自动填充的颜色配置,建议修改的颜色值为:586e75
或者提高颜色亮度 vim ~/.oh-my-zsh/custom/plugins/zsh-autosuggestions 修改 ZSH_AUTOSUGGEST_HIGHLIGHT_STYLE='fg=10'

3 左右键跳转

主要是按住 option/command + >/←键,在命令的开始和结尾跳转切换,原本是不生效的,需要手动开启下。
打开 iTerm2, Preferences > Profiles > Keys > Load Preset... > Natural Text Editing

4 iTerm2 快速隐藏和显示

Preferences > Keys > Hotkey > Show/hide all windows with...

5 iTerm2 隐藏用户名和主机名

有时用户名和主机名太长,比如我的42vio@42-MacBook-Pro

  1. 编辑 ~/.zshrc 文件,增加 DEFAULT_USER="42vio" 配置,可以通过 whoami 命令查看当前用户
  2. 编辑 ~/.oh-my-zsh/themes/agnoster.zsh-theme 主体文件,将里面的 build_prompt 下的 prompt_context 字段在前面加#注释掉即可

6 iTerm2 配置代理

编辑 ~/.zshrc,增加下面配置(使用 shadowsocks 或 ClashX, 并打开全局模式):

# proxy list
alias proxy='export all_proxy=socks5://127.0.0.1:7890' # 端口修改成实际的
alias unproxy='unset all_proxy'

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

$ proxy     #打开代理
$ curl cip.cc  #查看ip

$ unproxy   #关闭代理
$ curl cip.cc

7 配置 ssh 自动远程登录

安装 sshpass http://sourceforge.net/projects/sshpass/files/

cd 到安装目录

./configure
make
make install

执行完三个命令后,配置 iterm2 Profiles > Add New Profiles > Command 填入 /usr/local/bin/sshpass -f /Users/xxx/sshpass/xxx ssh -p 22 root@192.168.1.21

其中 /usr/local/bin/sshpass 是 sshpass 安装路径
/Users/xxx/sshpass/xxx 是密码文件路径 最后一个 xxx 是密码文件

这样 用 command+o 调出 profiles 双击刚刚设置服务器就可以自动登录。

iTerm2 快捷命令

快捷命令说明:这里有详细的

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    搜索命令历史

❗️遇到的问题

Error: Your CLT does not support macOS 11.2.
sudo rm -rf /Library/Developer/CommandLineTools
sudo xcode-select --install

以上命令不管用就到 https://developer.apple.com/download/more/ 去下载最新的 Command Line Tools for Xcode beta版本


参考资料
https://www.jianshu.com/p/53cd3cdf2679
https://www.jianshu.com/p/67f3bde97ef7
https://www.jianshu.com/p/95f68e035f33
https://zhuanlan.zhihu.com/p/125522215

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

推荐阅读更多精彩内容