iTerm2简介
Mac OS
自带的终端,用起来有些不太方便,界面也不够友好, iTerm2
是一款相对比较好用的终端工具,也可以说是 Terminal 的替代品,它适用于 macOS 10.12 或更高版本的 macOS。iTerm2
常用操作包括主题选择、声明高亮、自动填充建议、隐藏用户名和主机名、分屏效果等,这些功能极大的提高我们敲命令的效率,强烈推荐每一个程序员都尝试和习惯使用这款工具。
效果图如下:
安装 iTerm2
安装以及配置 Oh My Zsh
- 官网方式,该方式可能因为网络原因安装不成功,那请换其他方式安装【不推荐】
sh -c "$(curl -fsSL https://githubcdn.qiushaocloud.top/gh/qiushaocloud/ohmyzsh@master/tools/install.sh)"
-
git 仓库方式
# 下载 oh-my-zsh 源码 git clone https://gitee.com/qiushaocloud/ohmyzsh.git ~/.oh-my-zsh # git clone https://github.com/qiushaocloud/ohmyzsh.git ~/.oh-my-zsh # 并且把 .zshrc 配置文件拷贝到根目录下 cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc # 让 .zshrc 配置文件生效 source ~/.zshrc ## shell换成zsh chsh -s /bin/zsh
-
在 oh-my-zsh GitHub 上下载
zip
-> 解压 -> 移动 oh-my-zsh 目录到根目录cd ~/Downloads mv ohmyzsh-master ~/.oh-my-zsh cp ~/.oh-my-zsh/templates/zshrc.zsh-template ~/.zshrc source ~/.zshrc
下载以及配置 solarized 配色主题【有些 item2 已经有这个主题,直接用就好了】
cd ~/Downloads
# 下载 solarized 主题源码
git clone https://gitee.com/qiushaocloud/solarized.git
# git clone https://github.com/qiushaocloud/solarized.git
然后打开 iTerm2, 按 Command + ,
键, 打开 Preferences 配置界面, 然后 Profiles -> Colors -> Color Presets -> Import
, 在弹出的窗口中, 定位到 Downloads > solarized > iterm2-colors-solarized
, 双击 Solarized Dark.itermcolors
导入暗色的 Solarized
配色方案. 就可以了.
如果你有强迫症, 下载的文件可以删除
安装以及配置神器 Powerlevel10k
Powerlevel10k 简单来说就是一个 ZSH
的主题,只不过它的功能很强大,以下简称 p10k
。
git clone https://gitee.com/qiushaocloud/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
# git clone https://github.com/qiushaocloud/powerlevel10k.git ~/.oh-my-zsh/custom/themes/powerlevel10k
然后需要打开 ~/.zshrc
设置 ZSH_THEME
:
ZSH_THEME="powerlevel10k/powerlevel10k"
安装以及设置字体 Nerd Fonts
打开 https://github.com/ryanoasis/nerd-fonts/releases,滑动页面找到 Assets
区域,如图:
我们只要下载箭头所指的 Hack.zip
这个字体包,解压缩之后就会获得一些 ttf
字体文件,双击安装即可。如果您没办法打开下载,您也可以使用此地址下载:https://githubcdn.qiushaocloud.top/gh/qiushaocloud-cdn/cdn_static@master/Hack.zip
zshrc 设置字体
POWERLEVEL9K_MODE="nerdfont-complete"
ZSH_THEME="powerlevel10k/powerlevel10k"
注意,需要设置在 ZSH_THEME
之前。
iTerm2 设置字体
操作路径:菜单栏 -> Profiles -> Open Profiles -> Edit Profiles -> 选择 Text
这样,所有的图标就都可以正常显示了。
VS Code 字体配置
如果你用的是 VS Code
,需要再配置一下字体,settings.json 内容设置如下:
{
"terminal.integrated.fontFamily": "Hack Nerd Font"
}
自动配置【作者直接忽略废除 p10k
的配置,废除方式下面有介绍】
如果你指定了 ZSH_THEME="powerlevel10k/powerlevel10k"
但是在 zshrc
里没进行任何手动的配置,打开 iTerm2
的时候就会触发自动配置的流程。
也可以通过以下命令再次进入自动配置的流程:
p10k configure
问题大致如下:
- 这个符号看起来像钻石(旋转的正方形)吗?
- 这个符号看起来像锁吗?
- 这个符号看起来像 Debian logo 吗?
- 这些图标都交叉分布在 X 之间吗?
- 风格
- 编码
- 是否显示时间
- 目录层级分隔符
- 头部(左边)
- 尾部(右边)
- 是否换行
- 左边和右边是否有连接线
- 命令行和提示是否连接
- 两行命令之间分布稀疏还是松散
- 是否需要图标
后面几个选项随意,执行完命令之后,就会初始化 p10k
:在根目录下生成 ~/.p10k.zsh
,并且在 ~/.zshrc
底部写入:
如果想废除 p10k
的配置,只需要删除 ~/.p10k.zsh
,并且删除上面这条命令即可。
自定义配置
如果你想当高玩,也可以在 ~/.zshrc
里手动配置 p10k
,或者在 ~/.p10k.zsh
基础上进行修改。
这个得要自己看文档摸索啦,这里我简单说几个配置:
- POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
- POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
- POWERLEVEL9K_VCS_GIT_GITHUB_ICON
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
显示在命令行左边区域的元素:
和上图相对应的配置为:
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(user dir vcs newline)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
显示在命令行右边区域的元素:
和上图相对应的配置为:
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(time)
可以在 POWERLEVEL9K_LEFT_PROMPT_ELEMENTS
和 POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS
里用的字段有:
字段含义user用户名dir当前目录名vcs远程仓库信息os_icon系统图标date日期host主机名status上一条命令的执行状态time当前时间......
如果还想了解更多,自行前往**文档**查看。
POWERLEVEL9K_VCS_GIT_GITHUB_ICON
如果它是一个 Github
目录,就会显示这个图标:
所以出现在窗口里的图标都可以自定义,可以通过命令查看目前正在使用的图标:
get_icon_names
找到想要修改的 KEY
就可以修改图标了。
注意:需要使用
Nerd Fonts
才能收获这满满的快乐。
有人问,这个图标的代码该去哪找呢?
在这里:https://www.nerdfonts.com/cheat-sheet
这是 Nerd Fonts
能够支持的所有图标,可以直接使用关键字进行搜索。
比如,我想修改 Git
的图标:
找到喜欢的图标之后,右下角的 f113
就是这个图标的值,只需要这样就了:
POWERLEVEL9K_VCS_GIT_GITHUB_ICON=$'\uf113'
快造作起来~
好用到极致的插件
colorls
Color LS 是一个使用颜色和图标对 ls 输出进行着色的 Ruby 脚本。 这是一个文件目录美化插件,如图所示:
gem install colorls
然后执行 colorls
就好了,你也可以设置 alias
更高效一点:
alias lc='colorls -lA --sd'
alias lcd='colorls -d'
alias lcdt='colorls -d --tree'
alias lcad='colorls -lA -d'
alias lcat='colorls -lA --sd --tree'
设置了别名之后,就像我一样,输入 lc
就好了。
- autojump 插件
autojump
插件会记录你所有的访问记录,不同单独配置,直接访问即可。
安装
brew update
brew install autojump
配置
打开 ~/.zshrc
加一行代码:
[[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh
然后就是 source
一下就生效了。
使用
使用 j
命令就可以执行 auto-jump
,比如 j articles
:
前提是你访问过 articles
目录,也就是你得让它记住。
- zsh-autosuggestions
这个插件的作用很简单,就是像它名字一样,会在你输入命令的时候提示并且自动完成:
git clone https://gitee.com/qiushaocloud/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
#git clone https://github.com/qiushaocloud/zsh-autosuggestions.git $ZSH_CUSTOM/plugins/zsh-autosuggestions
在 ~/.zshrc 插件处配置 zsh-autosuggestions,具体看下面的完整配置
- 安装 zsh-syntax-highlighting
插件功能:这个包为
shell zsh
提供语法突出显示。它允许高亮显示在zsh
提示符下输入到交互式终端的命令。这有助于在运行命令之前检查它们,特别是在捕获语法错误方面。 例:在你输入某个命令时,如果该命令不存在,那么它显示为红色;否则,它会变成绿色。
git clone https://gitee.com/qiushaocloud/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
#git clone https://github.com/qiushaocloud/zsh-syntax-highlighting $ZSH_CUSTOM/plugins/zsh-syntax-highlighting
在 ~/.zshrc 插件处配置 zsh-syntax-highlighting,具体看下面的完整配置
完整 ~/.zshrc 配置
# Prompts
POWERLEVEL9K_LEFT_SEGMENT_SEPARATOR='\uE0C0'
#POWERLEVEL9K_LEFT_SUBSEGMENT_SEPARATOR='\uE0C0'
POWERLEVEL9K_RIGHT_SEGMENT_SEPARATOR='\uE0C2'
#POWERLEVEL9K_RIGHT_SUBSEGMENT_SEPARATOR='\uE0C2'
POWERLEVEL9K_LEFT_PROMPT_ELEMENTS=(dir dir_writable vcs virtualenv)
#POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=(status background_jobs command_execution_time ip)
POWERLEVEL9K_RIGHT_PROMPT_ELEMENTS=()
POWERLEVEL9K_SHORTEN_DIR_LENGTH=1
POWERLEVEL9K_SHORTEN_DELIMITER=..
POWERLEVEL9K_PROMPT_ON_NEWLINE=true
POWERLEVEL9K_MULTILINE_FIRST_PROMPT_PREFIX=$'\n'
POWERLEVEL9K_MULTILINE_LAST_PROMPT_PREFIX="\uF460%F{073}\uF460%F{109}\uF460%f "
export ZSH="/Users/qiushao/.oh-my-zsh"
POWERLEVEL9K_MODE='nerdfont-complete'
ZSH_THEME="powerlevel10k/powerlevel10k"
export UPDATE_ZSH_DAYS=13
HIST_STAMPS="yyyy/mm/dd"
plugins=(
git
colored-man-pages
colorize
github
brew
# osx
docker
docker-compose
autojump
zsh-autosuggestions
zsh-syntax-highlighting
autopep8
python
)
source $ZSH/oh-my-zsh.sh
[[ -s $(brew --prefix)/etc/profile.d/autojump.sh ]] && . $(brew --prefix)/etc/profile.d/autojump.sh
alias zshconfig="vim ~/.zshrc"
alias vimconfig="vim ~/.vimrc"
alias grep='grep --color=auto'
alias lc='colorls -lA --sd'
alias lcd='colorls -d'
alias lcdt='colorls -d --tree'
alias lcad='colorls -lA -d'
alias lcat='colorls -lA --sd --tree'
iTerm2 快捷命令
命令 | 说明 |
---|---|
command + t | 新建标签 |
command + w | 关闭标签 |
command + 数字 / command + 左右方向键 | 切换标签 |
command + enter | 切换全屏 |
command + f | 查找 |
command + d | 垂直分屏 |
command + shift + d | 水平分屏 |
command + ; | 查看历史命令 |
command + shift + h | 查看剪贴板历史 |
ctrl + u | 清除当前行 |
ctrl + l / command + r | 清屏 |
ctrl + a | 到行首 |
ctrl + e | 到行尾 |
ctrl + f/b | 前进后退 (相当于左右方向键) |
ctrl + p | 上一条命令 |
ctrl + r | 搜索命令历史 |
ctrl + d | 删除当前光标的字符 |
ctrl + h | 删除光标之前的字符 |
ctrl + w | 删除光标之前的单词 |
ctrl + k | 删除到文本末尾 |
ctrl + t | 交换光标处文本 |
Command + / | 查看当前终端中光标的位置 |
iTerm2 特殊技巧
选中即复制
iTerm2 有 2 种好用的选中即复制模式.
- 一种是用鼠标, 在 iTerm2 中, 选中某个路径或者某个词汇, 那么, iTerm2 就自动复制了.
- 另一种是无鼠标模式,
command+f
, 弹出 iTerm2 的查找模式, 输入要查找并复制的内容的前几个字母, 确认找到的是自己的内容之后, 输入tab
, 查找窗口将自动变化内容, 并将其复制. 如果输入的是shift+tab
, 则自动将查找内容的左边选中并复制.
智能选中和打开
双击选中, 三击选中整行, 四击智能选中
选取某一部分, 按住 Shift
, 再点击某处, 可以选取整个矩形内的文本(类似 Windows 下按住 Shift
可以批量选取图标)
按住 ⌘ 键
-
可以拖拽选中的字符串;
-
点击
url
: 调用默认浏览器访问该网址; -
点击文件: 调用默认程序打开文件;
-
如果文件名是
filename:42
, 且默认文本编辑器是MacVim
将会直接打开到这一行; -
点击文件夹: 在
finder
中打开该文件夹; -
同时按住
opt
键, 可以以矩形选中.
在 Finder 里打开 iTerm2 并定位到当前目录
安装 iTerm 后, 会在系统设置的服务中自动生成两条服务, 如下图一:
在文件夹-右键-服务中可以找到:
这样, 只要点击这个服务就可以在 iTerm 中打开当前路径
为了避免每次都要右键选择服务, 可以为这个服务设置一个快捷键. 如上图一所示, 我设置的快捷键是 Ctrl + Opt + i
, 这样只需要选中文件夹, 再执行快捷键, 就可以在 iTerm 中打开当前路径
注意事项:
-
这个服务必须选中文件夹或文件才能执行. 选中文件夹会在 iTerm 中打开该文件夹的路径; 选中文件, 会打开该文件所在的文件夹的路径
-
快捷键在重启系统或 Finder 后, 需要手动激活才能生效. 手动激活方法:
点击一下需要激活的服务即可
评论区