设置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,无需安装
- bash 是 macOS 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 为 robbyrussell
,oh-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
- 在命令行输入:
uninstall_oh_my_zsh
- 进入到.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
- 编辑
~/.zshrc
文件,增加DEFAULT_USER="42vio"
配置,可以通过whoami
命令查看当前用户 - 编辑
~/.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
网友评论