昨天写关于 git 的文章的时候,需要来回切分支,而且 bash 也看不到当前是哪个分支,得不停git branch
来看,显得十分麻烦。于是便不得不逼着自己一把,来熟悉一波zsh
了。
同事有用zsh
的,而且鼎力推荐,因为目前的工作和学习与命令行的交集不是很深,所以一直没有开始用。最近发现bash
相比zsh
确实是难用许多,便只能硬着头皮来学习了。之所以是硬着头皮,是因为自己对 Linux 系统不是很熟悉,虽然现在是在用,但是对于 Linux 的很多特性都不是很了解,命令行、Shell 脚本算是 Linux 一大特色。
zsh
有着强大的功能,但是其配置也是异常复杂,于是 Github 上便有了这样的一个库:oh-my-zsh,oh-my-zsh
是为了简化zsh的配置而提供的一个配置模板,可以更好的管理zsh的各项配置。可以看到它有 55k 的 star,可见其火爆程度。现在才来接触,显得挺惭愧的。
关于oh-my-zsh
的安装直接照着 github 中的README
一步一步来就好了。就提醒一点,安装完之后需要注销掉用户,重启也可以,然后再重新登录,才可以看到zsh
。
关于zsh
的优势,网上众说纷纭,但是我目前用的不多,体会得不深。现在就我体会到的来说几点。
git支持
很直接的一个体现就是进入到有 git 版本控制的目录,会显示出当前所在的分支。
再也不同git branch
来看当前是什么分支了。
另外,oh-my-zsh
也配置了很多 git 命令别名,方便使用。比如gst
代表git status
,gco
代表git checkout
,还有许许多多的配置,可以参考Plugin:git。
Tab自动补全
比如我想进入到 blog 目录,我敲cd b
然后按Tab
,zsh
变回把所有 b 开头的目录列出来,然后再按Tab
,它会帮你选择目录,当选到自己想要的目录时,按回车就可以进入了,是不是非常方便!!!
大小写忽略
大小写切换是很常见的,在上个例子中,即使我敲成cd B
也能找到blog
目录。
autojump
当目录层级很深的时候,想要进入到那个目录得一直cd--ls--cd--ls
,就像这样:
看着就觉得头疼,因为实在无法记住那么长的目录。对此,autojump
可谓是一大神作。
先安装:
1 | sudo apt-get install autojump |
然后打开.zshrc
,找到plugins
,加入autojump
:
1 | plugins=(git autojump) |
之后便是这种姿势打开目录了:
怎么样,是不是简直爽爆了!?再也不用臃肿的敲着蛋疼的cd
了。
当在一次终端行为中,有了多个进入的目录,可以直接输入d
来看到目录,然后直接输入数字
便可以快捷进入到相应的目录中了。
简直就是方便!又多了一个不得不用zsh
的理由了!!!
快速打开当前所在文件夹
编辑.zshrc
文件,加入:
1 | alias o="nautilus ." |
当命令行处于某个文件夹下时,直接键入o
即可打开当前文件夹。
这其实只是给zsh
配置了一个别名,任何我们常用的操作都可以根据自己喜好配置别名,方便使用。
目前体验的到的可能就这几个我很欣赏的特性了。当然也是才刚刚开始使用,后面有别的再行补充。这里先贴一下网友的配置,后面可能用得到:
1 | ZSH的环境变量 |
题外话
Ubuntu
用了也有段时间了,但是感觉还是像用Windows
一样在用Ubuntu
,很多东西还是依赖图形化界面。但是作为一个开发人员,Shell脚本
更值得去拥抱。所以决心后面多用多学,真正拥抱Linux
。
最后安利一波 Ubuntu 下录制 Gif 的方案:
安装 Wine,下载 GifCam.exe,然后直接运行 GifCam.exe。