# 终端
本篇将会介绍 zsh 这个 shell 的强大之处以及 iterm2 这个强大的现代化终端,将两个工具结合使用即酷炫又实用。
注:本文只会介绍实际开发中使用频率比较高的用法,该工具的强大功能并未全部介绍完。如有兴趣可查阅官方文档继续学习。
# iterm2
iterm2 取代了默认的 Terminal,它将带给你现代化的体验以及任何你想要的功能
# 安装 iterm2
这里我们直接去官网 (opens new window)进行 download
# 快捷键
熟练使用快捷键是程序员的基本操守
# 唤醒热键
给终端加一个快速唤醒/隐藏的快捷键是必须要做的,否则用鼠标找到终端的快捷方式再打开这种做法不仅慢而且逼格低,设置方式
iterm2
-> Preferences
-> Keys
-> Hotkey
这里我们建议使用 option
+ space
组合键来唤醒/隐藏终端
# 其他快捷键
以下快捷键与 chrome 快捷键类似,必须熟练使用
ctrl
+a/e
快速切换到当前正在输入的文本的头部/尾部ctrl
+u
清空当前输入cmd
+T
打开一个新的 iterm2 Tabcmd
+方向键
左右切换 Tabcmd
+D
分屏cmd
+K
清屏cmd
+N
打开一个新的 iterm2 窗口
# 透明度
个人喜好这里建议给 iterm2 配置一个透明度,看起来体验感舒适很多
iterm2
-> Preferences
-> Profiles
-> Window
-> Transparency
效果如下
# zsh
Unix shell,一种壳层与命令行界面,是 UNIX 操作系统下传统的用户和计算机的交互界面。第一个用户直接输入命令来执行各种各样的任务。 普通意义上的 shell 就是可以接受用户输入命令的程序。它之所以被称作 shell 是因为它隐藏了操作系统低层的细节。同样的 Unix 下的图形用户界面 GNOME 和 KDE,有时也被叫做“虚拟 shell”或“图形 shell”。
目前常见的 shell 有 bash、sh、csh,ksh 等, 这里我们介绍 shell 中的极品 zsh。 zsh 的强大之处随便列举就有以下几点,色彩高亮,命令提示,智能补全等等,下面我们会详细介绍 这么牛逼的东西安装起来自然是及其麻烦的,好在已经有大神帮我们做了一个一键安装 zsh 的脚本oh-my-zsh (opens new window)
# 安装 zsh
使用 curl 来安装
$ sh -c "$(curl -fsSL https://raw.github.com/ohmyzsh/ohmyzsh/master/tools/install.sh)"
# 配置主题
默认的 zsh 主题是非常丑并且展示的信息也很少的,这里 zsh 提供了多种主题供我们直接使用,当然你可以根据自己的喜欢来编写一个主题,这里我们使用 ys 这个主题。设置方式
$ vim ~/.zshrc # 打开zsh配置文件
10 ZSH_THEME = "ys" # 在第10行设置当前主题为ys
$ source ~/.zshrc # 重新执行一遍zsh配置文件
# 插件
zsh 提供了插件功能,我们可以通过插件来实现更加强大的功能
# autojump 插件
必装插件没有之一,可以让你在任意目录之间进行跳转
$ brew install autojump
$ vim ~/.zshrc
61 plugins = (
62 git
63 autojump
64 )
$ source ~/.zshrc
# 使用 autojump
j
+ 目录缩写
快速去到你曾经进入过的目录
autojump 会自动对你进入过的目录进行记录并且定义权重,使用 j 命令可以迅速进入目录
$ j hub # 等价于 cd ~/workspace/github
$ j hub # 如果当前目录不对,可以重复执行该命令,会自动根据权重依次匹配
$ d # 会列出你曾经进入过的目录,输入前面的序号可以直接进入该目录
# git 插件 (opens new window)
git 插件也是必装的插件,它提供了百余个 alias 来简化你的 git 命令,alias 列表可访问插件链接查看。以下几种是会被经常使用的命令,你也可以在.zshrc 中额外添加喜好的 alias
$ g # 等价于git
$ ga # 等价于git add
$ gcmsg "" # 等价于git commit -m ""
$ gco # 等价与git checkout
$ gb # 等价于git branch
# zsh-syntax-highlighting
既然 zsh 都已经安排上了,那 zsh 可用命令的高亮显示自然是不能落下,借助zsh-syntax-highlighting (opens new window) 来实现命令高亮
# Preview
使用前:
使用后:
# zsh-autosuggestions
它能够根据你的命令历史记录即时提示,个人对它的喜爱程度仅次于 autojump。BTW,每次用同事的电脑我都会想吐槽,还不是因为他没安装 zsh-autosuggestions (opens new window) 😏
# Preview
# last-working-dir
last-working-dir 插件,可以记录上一次退出命令行时候的所在路径,并且在下一次启动命令行的时候自动恢复到上一次所在的路径。这一切不需要我们进行任何操作,全部都是自动完成的
# Preview
# web-search (opens new window)
web-search 集成了程序猿可能会用到的大部分的搜索引擎,在 iterm 中键入 ${搜索引擎} ${搜索关键词}
,他可以直接打开对应的网页,缩短了你的搜索路径
例如,输入 google javascript
,它会在我的浏览器中直接打开 https://www.google.com/search?q=javascript
web-search 常用的搜索引擎如下:
- github
- baidu
- stackoverflow
# 进入目录
无需输入 cd
命令
输入 ~
等价于 cd ~
# 路径补全
*nix 下的其他 shell 默认可以通过 tab 来实现路径补全,但是功能比起 zsh 的路径补全简直是太简单了。这里我们举一个例子
cd /u/l/b
按下 tab 键自动帮你补全为 cd /usr/local/bin/
# 日常工作顺序
这一套操作是本人日常使用的最频繁的操作,必须要熟练使用一气呵成。
alt + space
(唤醒iterm2) + cmd + T
(建立新的iterm2窗口) + j hub
(使用autojump的j命令快速跳转到github目录 ) + code .
(在vscode打开) + spectatle
( cmd + alt + enter = 窗口全屏)
Node.js →