https://www.zhihu.com/question/27447370
https://medium.com/ayuth/iterm2-zsh-oh-my-zsh-the-most-power-full-of-terminal-on-macos-bdb2823fb04c
https://jeremysu0131.github.io/Tool-Mac-iTerm-2-Oh-My-Zsh-Powerlevel9k-設定/
智能选中
双击选中、三击选中整行、四击智能选中(智能规则可配置),选中即复制
巧用 ⌘ 键
按住 ⌘ 键
- 可以拖拽选中的字符串;
- 点击 url:调用默认浏览器访问该网址;
- 点击文件:调用默认程序打开文件;
- 如果文件名是
filename:42
,且默认文本编辑器是Macvim
、Textmate
或BBEdit
,将会直接打开到这一行; - 点击文件夹:在
finder
中打开该文件夹; - 同时按住
⌥
键,可以以矩形选中,类似于 vim 中的⌃ v
操作。
快捷键
标签
新建标签:⌘ + t
关闭标签:⌘ + w
切换标签:⌘ + 数字
⌘ + 左右方向键
切换全屏:⌘ + enter
查找:⌘ + f
分屏
垂直分屏:⌘ + d
水平分屏:⌘ + ⇧ + d
切换屏幕:⌘ + ⌥ + 方向键
⌘ + [
或 ⌘ + ]
查看历史命令:⌘ + ;
查看剪贴板历史:⌘ + ⇧ + h
其他
清除当前行:⌃ + u
到行首:⌃ + a
到行尾:⌃ + e
前进后退:⌃ + f/b
(相当于左右方向键)
上一条命令:⌃ + p
搜索命令历史:⌃ + r
删除当前光标的字符:⌃ + d
删除光标之前的字符:⌃ + h
删除光标之前的单词:⌃ + w
删除到文本末尾:⌃ + k
交换光标处文本:⌃ + t
清屏 1:⌘ + r
清屏 2:⌃ + l
时间线:⌘ + ⇧ + e
自带有哪些很实用的功能/快捷键
⌘ + 数字
在各 tab 标签直接来回切换
选择即复制 + 鼠标中键粘贴,这个很实用
⌘ + f
所查找的内容会被自动复制
⌘ + d
横着分屏 /⌘ + ⇧ + d
竖着分屏
⌘ + r
= clear
,而且只是换到新一屏,不会想 clear
一样创建一个空屏
⌃ + u
清空当前行,无论光标在什么位置
输入开头命令后 按 ⌘ + ;
会自动列出输入过的命令
⌘ + ⇧ + h
会列出剪切板历史
可以在 Preferences > keys 设置全局快捷键调出 iterm,这个也可以用过 Alfred 实现
常用的一些快捷键
⌘ + 1 / 2
左右 tab 之间来回切换,这个在 前面 已经介绍过了
⌘←
/ ⌘→
到一行命令最左边/最右边 ,这个功能同 C+a
/ C+e
⌥←
/ ⌥→
按单词前移/后移,相当与 C+f
/ C+b
,其实这个功能在 Iterm 中已经预定义好了,⌥f
/ ⌥b
,看个人习惯了
好像就这几个
设置方法如下
当然除了这些可以自定义的也不能忘了 linux 下那些好用的组合
C+a
/ C+e
这个几乎在哪都可以使用
C+p
/ !!
上一条命令
C+k
从光标处删至命令行尾 (本来 C+u
是删至命令行首,但 iterm 中是删掉整行)
C+w
A+d
从光标处删至字首/尾
C+h
C+d
删掉光标前后的自负
C+y
粘贴至光标后
C+r
搜索命令历史,这个较常用
标记跳转
类似编辑器的 mark 工具,iTerm2 也可以在命令行位置设置标记
设置标记:⌘ + ⇧ + m
跳转到上个标记:⌘ + ⇧ + j
多个标记切换:⌘ + ⇧ + 方向键
选中即复制
iterm2 有 2 种好用的选中即复制模式。
一种是用鼠标,在 iterm2 中,选中某个路径或者某个词汇,那么,iterm2 就自 动复制了。
另一种是无鼠标模式,⌘+f,弹出 iterm2 的查找模式,输入要查找并复制的内容的前几个字母,确认找到的是自己的内容之后,输入 tab,查找窗口将自动变化内容,并将其复制。如果输入的是 ⇧+tab,则自动将查找内容的左边选中并复制。
自动完成
输入打头几个字母,然后输入 ⌘+;
iterm2 将自动列出之前输入过的类似命令。
剪切历史
输入 ⌘+⇧+h
,iterm2 将自动列出剪切板的历史记录。如果需要将剪切板的历史记录保存到磁盘,在 Preferences > General > Save copy/paste history to disk 中设置。
及时回放
某个交互命令会覆写屏幕上的输入,之前的历史信息可能会被覆盖掉,无法查看,iterm2 这个及时回放功能,会记录历史输入,输出,有点类似视频录制。
进入回放:⌘ + opt + b
方向键控制时间 :arrow
退出回放:esc
oh-my-zsh
https://www.zhihu.com/question/29977255
智能补全
cd ~/ 切换目录,敲击两下tab
,会列出当前目录下的所有目录,并且可以使用键盘上下左右键来选择要进入的目录。
命令选项补齐,比如输入 docker,然后按 tab,即可显示出 docker 都有哪些命令选项。
智能切换目录
进入一个很深的目录,例如 /var/log/nginx/error/lastyear/may/first/monday
, 用 zsh 可以这样输入 cd /v/l/n/e/l/m/f/m
然后按 tab 即可补全整个路径。或者你实现知道当前目录名称,可以直接输入目录,即可进去目录。
在 zsh 下可以记录最近进过的 10 个目录,只需要输入d
,然后就可以看到对应的 0-9 的目录,输入cd -数字
即可进入对应的目录。
或者直接输入 cd -
然后 tab
,会列出最近使用过的 31 个目录。
Tmux
http://louiszhai.github.io/2017/09/30/tmux/
tmux是一款优秀的终端复用软件,它比Screen更加强大,至于如何强大,网上有大量的文章讨论了这点,本文不再重复。tmux之所以受人们喜爱,主要得益于以下三处功能:
- 丝滑分屏(split),虽然iTem2也提供了横向和竖向分屏功能,但这种分屏功能非常拙劣,完全等同于屏幕新开一个窗口,新开的pane不会自动进入到当前目录,也没有记住当前登录状态。这意味着如果我ssh进入到远程服务器时,iTem2新开的pane中,我依然要重新走一遍ssh登录的老路(omg)。tmux就不会这样,tmux窗口中,新开的pane,默认进入到之前的路径,如果是ssh连接,登录状态也依旧保持着,如此一来,我就可以随意的增删pane,这种灵活性,好处不言而喻。
- 保护现场(attach),即使命令行的工作只进行到一半,关闭终端后还可以重新进入到操作现场,继续工作。对于ssh远程连接而言,即使网络不稳定也没有关系,掉线后重新连接,可以直奔现场,之前运行中的任务,依旧在跑,就好像从来没有离开过一样;特别是在远程服务器上运行耗时的任务,tmux可以帮你一直保持住会话。如此一来,你就可以随时随地放心地进行移动办公,只要你附近的计算机装有tmux(没有你也可以花几分钟装一个),你就能继续刚才的工作。
- 会话共享(适用于结对编程或远程教学),将 tmux 会话的地址分享给他人,这样他们就可以通过 SSH 接入该会话。如果你要给同事演示远程服务器的操作,他不必直勾勾地盯着你的屏幕,借助tmux,他完全可以进入到你的会话,然后静静地看着他桌面上你风骚的键盘走位,只要他愿意,甚至还可以录个屏。
1 | # 安装tmux |
会话
新建会话
新建一个tmux session非常简单,语法为tmux new -s session-name
,也可以简写为tmux
,为了方便管理,建议指定会话名称,如下。
1 | tmux # 新建一个无名称的会话 |
断开当前会话
会话中操作了一段时间,我希望断开会话同时下次还能接着用,怎么做?此时可以使用detach命令。
1 | tmux detach # 断开当前会话,会话在后台运行 |
也许你觉得这个太麻烦了,是的,tmux的会话中,我们已经可以使用tmux快捷键了。使用快捷键组合Ctrl+b
+ d
,三次按键就可以断开当前会话。
进入之前的会话
断开会话后,想要接着上次留下的现场继续工作,就要使用到tmux的attach命令了,语法为tmux attach-session -t session-name
,可简写为tmux a -t session-name
或 tmux a
。通常我们使用如下两种方式之一即可:
1 | tmux a # 默认进入第一个会话 |
关闭会话
会话的使命完成后,一定是要关闭的。我们可以使用tmux的kill命令,kill命令有kill-pane
、kill-server
、kill-session
和 kill-window
共四种,其中kill-session
的语法为tmux kill-session -t session-name
。如下:
1 | tmux kill-session -t demo # 关闭demo会话 |
查看所有的会话
管理会话的第一步就是要查看所有的会话,我们可以使用如下命令:
1 | tmux list-session # 查看所有会话 |
如果刚好处于会话中怎么办?别担心,我们可以使用对应的tmux快捷键Ctrl+b
+ s
,此时tmux将打开一个会话列表,按上下键(⬆︎⬇︎)或者鼠标滚轮,可选中目标会话,按左右键(⬅︎➜)可收起或展开会话的窗口,选中目标会话或窗口后,按回车键即可完成切换。
Tmux快捷指令
关于快捷指令,首先要认识到的是:tmux的所有指令,都包含同一个前缀,默认为Ctrl+b
,输入完前缀过后,控制台激活,命令按键才能生效。前面tmux会话相关的操作中,我们共用到了两个快捷键Ctrl+b
+ d
、Ctrl+b
+ s
,但这仅仅是冰山一角,欲窥tmux庞大的快捷键体系,请看下表。
表一:系统指令。
前缀 | 指令 | 描述 |
---|---|---|
Ctrl+b |
? |
显示快捷键帮助文档 |
Ctrl+b |
d |
断开当前会话 |
Ctrl+b |
D |
选择要断开的会话 |
Ctrl+b |
Ctrl+z |
挂起当前会话 |
Ctrl+b |
r |
强制重载当前会话 |
Ctrl+b |
s |
显示会话列表用于选择并切换 |
Ctrl+b |
: |
进入命令行模式,此时可直接输入ls 等命令 |
Ctrl+b |
[ |
进入复制模式,按q 退出 |
Ctrl+b |
] |
粘贴复制模式中复制的文本 |
Ctrl+b |
~ |
列出提示信息缓存 |
表二:窗口(window)指令。
前缀 | 指令 | 描述 |
---|---|---|
Ctrl+b |
c |
新建窗口 |
Ctrl+b |
& |
关闭当前窗口(关闭前需输入y or n 确认) |
Ctrl+b |
0~9 |
切换到指定窗口 |
Ctrl+b |
p |
切换到上一窗口 |
Ctrl+b |
n |
切换到下一窗口 |
Ctrl+b |
w |
打开窗口列表,用于且切换窗口 |
Ctrl+b |
, |
重命名当前窗口 |
Ctrl+b |
. |
修改当前窗口编号(适用于窗口重新排序) |
Ctrl+b |
f |
快速定位到窗口(输入关键字匹配窗口名称) |
表三:面板(pane)指令。
前缀 | 指令 | 描述 |
---|---|---|
Ctrl+b |
" |
当前面板上下一分为二,下侧新建面板 |
Ctrl+b |
% |
当前面板左右一分为二,右侧新建面板 |
Ctrl+b |
x |
关闭当前面板(关闭前需输入y or n 确认) |
Ctrl+b |
z |
最大化当前面板,再重复一次按键后恢复正常(v1.8版本新增) |
Ctrl+b |
! |
将当前面板移动到新的窗口打开(原窗口中存在两个及以上面板有效) |
Ctrl+b |
; |
切换到最后一次使用的面板 |
Ctrl+b |
q |
显示面板编号,在编号消失前输入对应的数字可切换到相应的面板 |
Ctrl+b |
{ |
向前置换当前面板 |
Ctrl+b |
} |
向后置换当前面板 |
Ctrl+b |
Ctrl+o |
顺时针旋转当前窗口中的所有面板 |
Ctrl+b |
方向键 |
移动光标切换面板 |
Ctrl+b |
o |
选择下一面板 |
Ctrl+b |
空格键 |
在自带的面板布局中循环切换 |
Ctrl+b |
Alt+方向键 |
以5个单元格为单位调整当前面板边缘 |
Ctrl+b |
Ctrl+方向键 |
以1个单元格为单位调整当前面板边缘(Mac下被系统快捷键覆盖) |
Ctrl+b |
t |
显示时钟 |
保存Tmux会话
信息时代,数据尤为重要。tmux保护现场的能力依赖于tmux进程,如果进程退出,则意味着会话数据的丢失,因此关机重启后,tmux中的会话将被清空,这不是我们想要见到的。幸运的是,目前有这样两款插件:Tmux Resurrect
和 Tmux Continuum
,可以永久保存tmux会话(它们均适用于tmux v1.9及以上版本)。
Tmux Resurrect
Tmux Resurrect无须任何配置,就能够备份tmux会话中的各种细节,包括窗口、面板的顺序、布局、工作目录,运行程序等等数据。因此它能在系统重启后完全地恢复会话。由于其幂等的恢复机制,它不会试图去恢复一个已经存在的窗口或者面板,所以,即使你不小心多恢复了几次会话,它也不会出现问题,这样主动恢复时我们就不必担心手抖多按了一次。另外,如果你是tmuxinator用户,我也建议你迁移到 tmux-resurrect插件上来,具体请参考Migrating from tmuxinator
。
Tmux Resurrec安装过程如下所示:
1 | cd ~/.tmux |
安装后需在~/.tmux.conf
中增加一行配置:
1 | run-shell ~/.tmux/plugins/tmux-resurrect/resurrect.tmux |
至此安装成功,按下prefix + r
重载tmux配置。
Tmux Resurrec提供如下两个操作:
- 保存,快捷指令是
prefix
+Ctrl + s
,tmux状态栏在保存开始,保存后分别提示”Saving…”,”Tmux environment saved !”。 - 恢复,快捷指令是
prefix
+Ctrl + r
,tmux状态栏在恢复开始,恢复后分别提示”Restoring…”,”Tmux restore complete !”。
保存时,tmux会话的详细信息会以文本文件的格式保存到~/.tmux/resurrect
目录,恢复时则从此处读取,由于数据文件是明文的,因此你完全可以自由管理或者编辑这些会话状态文件(如果备份频繁,记得定期清除历史备份)。
可选的配置
Tmux Resurrec本身是免配置开箱即用的,但同时也提供了如下选项以便修改其默认设置。
1 | set -g @resurrect-save 'S' # 修改保存指令为S |
默认情况下只有一个保守的列表项(即vi vim nvim emacs man less more tail top htop irssi mutt
)可以恢复,对此 Restoring programs doc 解释了怎么去恢复额外的项目。
进阶的备份
除了基础备份外,Tmux Resurrec还提供进阶的备份功能,如下所示:
- 恢复vim 和 neovim 会话
- 恢复面板内容
- 恢复shell的历史记录(实验性功能)
进阶的备份功能默认不开启,需要特别配置。
1)恢复vim 和 neovim 会话,需要完成如下两步:
通过vim的vim-obsession插件保存vim/neovim会话。
1
2
3cd ~/.vim/bundle
git clone git://github.com/tpope/vim-obsession.git
vim -u NONE -c "helptags vim-obsession/doc" -c q在
~/.tmux.conf
中增加两行配置:1
2set -g @resurrect-strategy-vim 'session' # for vim
set -g @resurrect-strategy-nvim 'session' # for neovim
2)恢复面板内容,需在~/.tmux.conf
中增加一行配置:
1 | set -g @resurrect-capture-pane-contents 'on' # 开启恢复面板内容功能 |
目前使用该功能时,请确保tmux的default-command
没有包含&&
或者||
操作符,否则将导致bug。(查看default-command
的值,请使用命令tmux show -g default-command
。)
3)恢复shell的历史记录,需在~/.tmux.conf
中增加一行配置:
1 | set -g @resurrect-save-shell-history 'on' |
由于技术的限制,保存时,只有无前台任务运行的面板,它的shell历史记录才能被保存。
Tmux Continuum
可能你嫌手动保存和恢复太过麻烦,别担心,这不是问题。Tmux Continuum 在 Tmux Resurrec的基础上更进一步,现在保存和恢复全部自动化了,如你所愿,可以无感使用tmux,不用再担心备份问题。
Tmux Continuum安装过程如下所示(它依赖Tmux Resurrect,请保证已安装Tmux Resurrect插件):
1 | cd ~/.tmux/plugins |
安装后需在~/.tmux.conf
中增加一行配置:
1 | run-shell ~/.tmux/plugins/tmux-continuum/continuum.tmux |
Tmux Continuum默认每隔15mins备份一次,我设置的是一天一次:
1 | set -g @continuum-save-interval '1440' |
关闭自动备份,只需设置时间间隔为 0
即可:
1 | set -g @continuum-save-interval '0' |
想要在tmux启动时就恢复最后一次保存的会话环境,需增加如下配置:
1 | set -g @continuum-restore 'on' # 启用自动恢复 |
如果不想要启动时自动恢复的功能了,直接移除上面这行就行。想要绝对确定自动恢复不会发生,就在用户根目录下创建一个tmux_no_auto_restore
空文件(创建命令:touch ~/tmux_no_auto_restore
),该文件存在时,自动恢复将不触发。
对于tmux高级用户(可能就是你)而言,同时运行多个tmux服务器也是有可能的。你可能并不希望后面启用的几个tmux服务器自动恢复或者自动保存会话。因此Tmux Continuum会优先在第一个启用的tmux服务器中生效,随后启用的tmux服务器不再享受自动恢复或自动保存会话的待遇。
实际上,不管Tmux Continuum功能有没有启用,或者多久保存一次,我们都有办法从状态栏知晓。Tmux Continuum提供了一个查看运行状态的插值#{continuum_status}
,它支持status-right
和 status-left
两种状态栏设置,如下所示:
1 | set -g status-right 'Continuum status: #{continuum_status}' |
tmux运行时,#{continuum_status}
将显示保存的时间间隔(单位为分钟),此时状态栏会显示:
1 | Continuum status: 1440 |
如果其自动保存功能关闭了,那么状态栏会显示:
1 | Continuum status: off |
借助Tmux Continuum插件,Mac重启时,我们甚至可以选择在Terminal
或者 iTerm2
中自动全屏启用tmux。
为此,需在~/.tmux.conf
中增加一行配置:
1 | set -g @continuum-boot 'on' |
Mac下,自动启用tmux还支持如下选项:
set -g @continuum-boot-options 'fullscreen'
,Terminal
自动全屏,tmux命令在Terminal
中执行。set -g @continuum-boot-options 'iterm'
,iTerm2
替换Terminal
应用,tmux命令在iTerm2
中执行。set -g @continuum-boot-options 'iterm,fullscreen'
,iTerm2
自动全屏,tmux命令在iTerm2
中执行。
Linux中则没有这些选项,它只能设置为自动启用tmux服务器。
Tpm
以上,我们直接安装了tmux插件。这没有问题,可当插件越来越多时,我们就会需要统一的插件管理器。因此官方提供了tpm(支持tmux v1.9及以上版本)。
tpm安装过程如下所示:
1 | cd ~/.tmux/plugins |
安装后需在~/.tmux.conf
中增加如下配置:
1 | # 默认需要引入的插件 |
然后按下prefix + r
重载tmux配置,使得tpm生效。
基于tpm插件管理器,安装插件仅需如下两步:
- 在
~/.tmux.conf
中增加新的插件,如set -g @plugin '...'
。 - 按下
prefix
+I
键下载插件,并刷新tmux环境。
更新插件,请按下prefix
+ U
键,选择待更新的插件后,回车确认并更新。
卸载插件,需如下两步:
- 在
~/.tmux.conf
中移除插件所在行。 - 按下
prefix
+alt
+u
移除插件。
会话共享
结对编程
tmux多会话连接实时同步的功能,使得结对编程成为了可能,这也是开发者最喜欢的功能之一。现在就差一步了,就是借助tmate把tmux会话分享出去。
tmate是tmux的管理工具,它可以轻松的创建tmux会话,并且自动生成ssh链接。
安装tmate
1 | brew install tmate |
使用tmate新建一个tmux会话
1 | tmate |
此时屏幕下方会显示ssh url,如下所示:
查看tmate生成的ssh链接
1 | tmate show-messages |
生成的ssh url如下所示,其中一个为只读,另一个可编辑。
共享账号&组会话
使用tmate远程共享tmux会话,受制于多方的网络质量,必然会存在些许延迟。如果共享会话的多方拥有同一个远程服务器的账号,那么我们可以使用组会话
解决这个问题。
先在远程服务器上新建一个公共会话,命名为groupSession
。
1 | tmux new -s groupSession |
其他用户不去直接连接这个会话,而是通过创建一个新的会话来加入上面的公共会话groupSession
。
1 | tmux new -t groupSession -s otherSession |
此时两个用户都可以在同一个会话里操作,就会好像第二个用户连接到了groupSession
的会话一样。此时两个用户都可以创建新建的窗口,新窗口的内容依然会实时同步,但是其中一个用户切换到其它窗口,对另外一个用户没有任何影响,因此在这个共享的组会话中,用户各自的操作可以通过新建窗口来执行。即使第二个用户关闭otherSession
会话,共享会话groupSession
依然存在。
组会话在共享的同时,又保留了相对的独立,非常适合结对编程场景,它是结对编程最简单的方式,如果账号不能共享,我们就要使用下面的方案了。
独立账号&Socket共享会话
开始之前我们需要确保用户对远程服务器上同一个目录拥有相同的读写权限,假设这个目录为/var/tmux/
。
使用new-session(简写new)创建会话时,使用的是默认的socket位置,默认socket无法操作,所以我们需要创建一个指定socket文件的会话。
1 | tmux -S /var/tmux/sharefile |
另一个用户进入时,需要指定socket文件加入会话。
1 | tmux -S /var/tmux/sharefile attach |
这样,两个不同的用户就可以共享同一个会话了。
通常情况下,不同的用户使用不同的配置文件来创建会话,但是,使用指定socket文件创建的tmux会话,会话加载的是第一个创建会话的用户的~/.tmux.conf
配置文件,随后加入会话的其他用户,依然使用同一份配置文件。
配置
需要的时候把 iterm2 呼出来,不需要的时候自动隐藏
iTerm2 > Preferences > Keys
,左侧 Hotkey
选项 勾选 Show/hide iTerm2 with a system-wide hotkey
,设置快捷键
复用上个会话的目录
iTerm2 > Preferences > Profiles > Working Directory > Reuse previous session’s directory
别名
1 | alias zsh-config='vim ~/.zshrc' |
终端下命令行下用 Sublime、vscode、atom 打开文件夹或目录
vscode 命令行调用
VS Code 提供了一个 code
命令,用来在 shell 环境下调用编辑器。使用快捷键 ⇧⌘P
(或 F1) 唤起命令面板,输入以下命令即可完成安装。
code 命令后可接多个路径或文件:
1
code pro6.js pro6.scss ../
文件对比:
1
code -d new-file.js old-file.js
打开文件并跳至指定行:
1
code -g source/cn/static/global/tracker.js:15
更多 code 命令行使用方法,参见《Additional Command line arguments》。
手动添加
打开终端,随便一个目录输入
1
cd
检查是否有
.zshrc
文件1
ls -al
1) 添加启动命令
1
sudo nano .zshrc
在文件末尾加上别名:
1
2
3
alias atom='/Applications/Atom.app/Contents/MacOS/Atom'
alias subl='/Applications/SublimeText.app/Contents/SharedSupport/bin/subl'
alias code='/Applications/Visual\ Studio\ Code.app/Contents/Resources/app/bin/code'
`⌘ + X` 再输入 `y` 保存,重启 iterm2。
查找 APP 路径:
vim配色
终端输入vim ~/.vimrc
,设置内容如下,
1 | syntax on |
Prezto
Prezto是Zsh的配置框架,作用是简化Zsh的配置难度,Prezto的使用可以参考这两篇文章:prezto官网和Customizing Your Prezto Prompt。
根据第一篇文章安装好Prezto后,需要按需配置Prezto,配置文件是~/.zpreztorc文件,将历史记录补全、语法高亮、git等插件的功能打开,另外在选择主题的时候,可以根据命令prompt -l
列举出所有的主题,根据prompt -p themename
预览主题的样式。我使用的就是它经典的主题sorin,其他的主题没有尝试过,你可以根据自己的喜好安装和配置。
Spaceship ZSH
powerlevel9k主题
配置项
Stylizing Your Prompt
其他人的配置
Show Off Your Config
我的配置
1 | # ======================================================================================================================================= |
如果图标显示不出来可以进入 iTerm 的设置 > Profiles > Text > Change Font > 选择 Hack Nerd Font
字体 Regular 大小 18pt,完成后重新启动 iTerm ,设置完成。
插件
打开配置文件:
~/.zshrc
autojump:快速切换目录
z: 功能同autojump,比autojump更轻量更快
1
brew install z
fzf: 快速模糊搜寻器
1
brew install fzf
在命令行的任何地方按下
CTRL-T
,CTRL-R
, andALT-C
(bash, zsh, fish),就可以开启交互式模糊搜索界面,递归搜索当前目录下的文件。输入搜索项后,上、下键选择结果,回车上屏:zsh-syntax-highlighting:zsh 可用命令高亮
1
git clone https://github.com/zsh-users/zsh-syntax-highlighting.git ${ZSH_CUSTOM:-~/.oh-my-zsh/custom}/plugins/zsh-syntax-highlighting
zsh-autosuggestions:命令自动提示
1
git clone https://github.com/zsh-users/zsh-autosuggestions $ZSH_CUSTOM/plugins/zsh-autosuggestions
优秀的命令行工具整理
- 开发工具分享