iTerm2 日常
iTerm2是一款优秀强大的第三方终端,相信用 Mac 的开发者,一定听过或者用过 iTerm2 这款终端应用,如果你还没使用过,没关系那么本篇文章就带你了解学习 iTerm2 中的一些常用操作,来提高你的工作效率
安装配置
下载
iTerm2官网
注意:
系统自带的终端默认使用bash
;iTerm2默认使用zsh
,因此两者切换如下命令
1 | # 安装完iTerm 可使用如下命令来切换 |
配置
基础设置
-
默认应用
MenuBar -> iTerm2 -> Make iTerm2 Default Term
-
全局热键
MenuBar -> iTerm2 -> preference -> Keys -> Show/hide iTerm2 with a system-wide hotkey
输入设置的快捷键,这里使用⌘,
安装Oh my zsh
- 方式一:crul
1
sh -c "$(curl -fsSL https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh)"
- 方式二:wget
1
sh -c "$(wget https://raw.githubusercontent.com/robbyrussell/oh-my-zsh/master/tools/install.sh -O -)"
PowerLine
1 | pip install powerline-status --user |
如果提示:
command not found: pip
先执行,再执行上面的字体安装命令
1 | sudo easy_install pip |
安装PowerFonts
为避免后续的使用中,可能会遇到字符乱码的问题,因此安装字体
字体库需要首先将项目clone
到本地,然后执行源码中的install.sh
,根据自己的喜好存放在指定的位置
1 | # 进入Documents目录 |
设置字体及背景
-
设置字体
MenuBar -> iTerm2 -> Preferences -> Profiles -> Text -> Change Font,选择Meslo LG
字体,L,M,S风格,看个人喜好,这里选择Meslo LG S Powerline
-
背景设置
修改主题
1 | # 打开.zshrc隐藏文件 |
默认:ZSH_THEME=“robbyrussell”
辅助
- 高亮插件 最后,对配置文件进行生效处理
1
2
3
4
5
6
7
8
9
10cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git
vim ~/.zshrc
# 添加zsh-syntax-highlighting到plugins中,放在git后面
plugins=(
git
zsh-syntax-highlighting
)
# 文件最后添加,然后保存并退出
source ~/.oh-my-zsh/custom/plugins/zsh-syntax-highlighting/zsh-syntax-highlighting.zsh1
source ~/.zshrc
- 命令补全
安装步骤和上面的高亮插件一致1
2
3
4
5cd ~/.oh-my-zsh/custom/plugins/
git clone https://github.com/zsh-users/zsh-autosuggestions
vi ~/.zshrc - 设置背景图
iTerm2 -> Preferences -> Profiles -> Window -> BackGround Image
主题选择
Oh my zsh 本身也包含了很多主题,而我比较喜欢的一款 powerlevel10k 的主题,非常的简洁,满足我的装 X 的需求的同时,极其简单的设置也是我对其爱不释手。
之前最早使用的是 powerlevel9k,我的博客里面一些终端的截图就是 powerlevel9k,但随着我的需求越来越多以及加载的插件也越来越多,我不能忍受 iTerm2 在使用 时的效率问题,然后就看到了powerlevel10k,它是在powerlevel9k 的基础上迭代的,大大提高了响应效率和更加简洁的配置等
安装
官方提供了多种安装方式(Manual,Oh My Zsh,Homebrew 等等),选择你熟系的方式进行安装,我这里使用 Oh My Zsh 方式安装,选择了 gitee 镜像地址进行下载
1 | # 1. 下载主题 |
默认安装路径:/Users/
<PC USER NAME>
/.oh-my-zsh/custom/themes/powerlevel10k
更新
当初选择的什么安装方式,就使用什么方式进行更新,我这里以 Oh My Zsh 方式进行更新
1 | git -C ${ZSH_CUSTOM:-$HOME/.oh-my-zsh/custom}/themes/powerlevel10k pull |
配置
只需要在终端()或者 iTerm2 命令窗口中输入 p10k configure
即可,然后根据提示选择即可完成配置,我比较懒,就用的 Pure
样式
问题
VS Code
在 VS Code Terminal 中显示不出来图标或者显示乱码异常等问题,先设置 VS Code 字体看看是否能解决,如果不能再进行排查
Open File → Preferences → Settings, 在搜索框中输入terminal.integrated
,字体设置为MesloLGS NF
.
常用工具
Homebrew
- Homebrew 是一款自由及开放源代码的软件包管理系统,用以简化macOS系统上的软件安装过程,最初由马克斯·霍威尔(Max Howell)写成
- Homebrew Cask,它是一套建立在 Homebrew 基础之上软件安装命令行工具,是 Homebrew 的扩展
官方
如果你使用的官方安装教程,需要切换 brew 的镜像源,可参考 专治各种网络不服 文章
安装
在你的终端(Terminal/iTerm2)运行如下脚本
1 | /bin/bash -c "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install.sh)" |
卸载
1 | ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/uninstall)" |
国内(推荐)
按照命令行上面的提示,进行安装
安装
1 | /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)" |
卸载
1 | /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/HomebrewUninstall.sh)" |
常用命令
对于 brew 和 brew cask 的命令基本一致,比如
- 【brew】:brew install [包名]
- 【brew cask】:brew cask install [包名]
brew 基础命令
1 | # 安装指定包应用,如:brew install wget |
brew service
1 | # 查看使用brew安装的服务列表 |
Nmap
端口扫描必备工具
1 | # 安装 nmap 工具 |
常用快捷键
标签
- 新建标签:⌘(command) + t
- 关闭标签:⌘(command) + w
- 切换标签:⌘(command) + 数字 ⌘(command) + 左右方向键
- 切换全屏:⌘(command) + enter
- 查找:⌘(command) + f
分屏
- 垂直分屏:⌘(command) + d
- 水平分屏:⌘(command) + ⇧(shift) + d
- 切换屏幕:⌘(command) + ⌥(option) + 方向键 ⌘(command) + [ 或 ⌘(command) + tab 所在的数字]
- 查看历史命令:⌘(command) + ;
- 查看剪贴板历史:⌘(command) + ⇧(shift) + h
其他
- 清除当前行:⌘(command) + u
- 清屏:⌘(command) + r
- 列出剪切板历史:⌘(command) + ⇧(shift) + h
- 命令快照(很实用的一个功能):⌘(command) + ⌥(option) + b
大概只能记录 30s 左右的操作
常见问题
文本乱码
在一开始使用macOS就已经安装iTerm2来代替了系统自带的Terminal应用,毕竟颜值是决定要不用长期使用的重要因素
iTerm2对应的配置文件:.zshrc
,Terminal对于的配置文件:.bash_profile
或 .bashrc
- 问题:iTerm2查看本地文件,能正常显示,无乱码,但查看服务器上文件,出现乱码
- 原因:本地iTerm2终端和服务器字符集不一致,造成乱码,macOS默认Terminal应用是
utf-8
,而iTerm2默认没有设置utf-8
编码 - 解决办法:给本地的
.zshrc
设置字符集编码1
2
3
4
5
6
7# 使用vim打开.zshrc文件
vim ~/.zshrc
# 在文本内容末尾添加以下两行内容进行字符编码设置
export LC_ALL=en_US.UTF-8
export LANG=en_US.UTF-8
# 保存文件内容,退出vim模式,并使刚刚设置的内容生效
source ~/.zshrc帮助:可以在本地和服务器上分别使用
locale
命令来查看,本地和服务器的字符编码是否一致
结束指定进程
1 | # 查看指定端口号 lsof -i:端口号 |
免密登录服务器
一图胜千言,请看图
代理处理
在 Mac 系统上,使用 iTerm2 是一件很享受的过程,很多事情都可以通过命令行直接完成,但是一个致命的问题是,很多连接在国内环境下,异常忙,比如通过命令 clone 或处理 GitHub 上的项目,速度慢的让人抓狂,虽然电脑开启了代理(非全局),但视乎没有什么作用,针对此问题,需要让我们的终端也通过代理
- install privoxy
1
brew install privoxy
- setting privoxy
1
vim /usr/local/etc/privoxy/config
- config privoxy
1
2listen-address 0.0.0.0:xxxx
forward-socks5 / localhost:1080 .0.0.0.0 可以让其他设备访问到,若不需要,请修改成用 127.0.0.1;xxxx是HTTP代理的默认端口;
localhost:1080 是 SOCKS5(shadowsocks) 默认的地址,可根据需要自行修改,且注意不要忘了最后有一个空格和点号。 - start privoxy 代理端口查看
1
2
3
4
5
6# 因没有安装在系统目录内,所以启动的时候需要打全路径
sudo /usr/local/sbin/privoxy /usr/local/etc/privoxy/config
# 查看是否启动成功(1087 端口号换成自己的)
netstat -na | grep 1087
# 看到有类似如下信息就表示启动成功了
tcp4 0 0 *.1087 *.* LISTEN
- use proxy
- temp proxy
如果关闭终端标签页或窗口,功能就会失效- star proxy
1
2
3# 这里的端口号1087,换成你自己的
export http_proxy='http://localhost:1087'
export https_proxy='http://localhost:1087' - cancel proxy
1
2
3unset http_proxy
unset https_proxy
- star proxy
- auto proxy
- setting ~/.bash_profile
1
2
3
4
5
6
7# 打开.bash_profile 文件
vim ~/.bash_profile
# .bash_profile文件最后添加(1087 端口替换成你自己的)
export http_proxy='http://localhost:1087'
export https_proxy='http://localhost:1087'
# 保存文件 :wq 后,使配置生效
source ~/.bash_profile - 上面的方式也可以在文件(
.bash_profile
)中加入如下方法,使用时只需要在终端中输入proxy_on
命令,关闭输入proxy_off
1
2
3
4
5
6
7
8
9
10
11
12function proxy_off(){
unset http_proxy
unset https_proxy
echo -e "已关闭代理"
}
function proxy_on() {
export no_proxy="localhost,127.0.0.1,localaddress,.localdomain.com"
export http_proxy="http://127.0.0.1:1087"
export https_proxy=$http_proxy
echo -e "已开启代理"
}
- setting ~/.bash_profile
- temp proxy
- test
1
2# 已废弃,只能查看到当前的 IP 地址,其他信息请使用 curl cip.cc 命令
curl ip.gs1
curl cip.cc
参考
- Mac终端-iTerm2使用
- Homebrew国内如何自动安装(国内地址)
- iTerm2 用法与技巧