Zsh使用指南(转)

出处:http://hackerxu.com/2014/11/19/ZSH.html

背景

如果你对Bash比较习惯并且担心会丢失所有Bash知识,那么大可不必担心,99%的操作Bash和Zsh都是相同的.你可以很好的完成shell的转换.
这篇文章使用的Zsh version 5.0.2和最近的oh-my-zsh.我在它们安装后没有做任何配置.
在例子中用<TAB>
来表示敲击tab键,别傻乎乎的打出来~
'cd'中tab补全
让我们从最常用的出发.改变当前目录.



在Bash里当你按下<TAB>
你会得到当前目录下的文件.
这种情况下你只能进入到目录里,对于其他上下文来说并不是太有用.Zsh知道这点,它只给你显示有效的文件目录.



他不仅可以帮你匹配目录,而且还可以允许你用方向键进行选取.(<TAB>向后,<Shift+TAB>向前
)
对于TAB智能补全和用按键进行选择交互这种方式是Zsh简单易用的核心.
快速'ls'
不必输入整个目录的名字,只需要输入几个能唯一识别的字母就可以了.

吡!

清除历史
你可能熟悉使用<CTRL>+R
命令来寻找你使用过的命令.在Bash和Zsh中这是非常方便的方法.
Zsh有一个更好的方法.你可以输入一部分命令然后按<UP>
键.



它会找他你最近用过的以ls
开始的命令.还可以继续寻找前面的命令.

分享命令历史
在每个shell里Bash都有它自己的输入历史.但是在Zsh里它所有活动shell里都会有一个共同的历史.所以你就不用不得不记住你在哪里输入这个命令了.
扩展环境变量
在我们的shell里提供了环境变量.有些时候我们要使用这些变量值或者只是检查一下它们.

在Zsh里你可以按<TAB>
键使这些变量转换成它们所表达的值.

kill命令的tab补全
我通常用kill
前先使用ps
命令检查它们的进程号,或者当我确认的时候用pkill
命令,Zsh给你另一种方法.

在输入kill
命令后,按tab
键它会提供一个以当前输入字母为开始的程序列表,通过方向键你可以选择杀掉哪个进程.

命令参数
当想要了解一个命令的时候你通常需要输入-help
或者检查man page
.Zsh提供了更好的方法.



输入-
然后按<TAB>
键.

它会列出选项和说明.你也可以用方向键进行选择.
它步进在ls
命令中,他可以.它可以工作在像netstat
,git
,chmod
等大量的命令中.
Git辅助
每个人都有自己喜欢的git
命令的别名.oh-my-zsh给出了一大堆默认别名.

当你进入一个git目录的时候它也会有提示.

你可以查看它所在的分支名,上面的小叉号提示我有没有提交的更改.
上一个失败命令
你可能注意到了在截屏里的绿色小箭头.提示我上个命令运行成功.

如果命令不成功提示符就会变成红色,直到命令运行成功.
匹配
在Bash里我通常用find
搭配xargs
命令去寻找文件.Zsh内建对这一功能的支持.
让我们看看这个项目里的文件,而我要找到今天修改的文件.

我们只需要在ls
后面加入一个模式匹配符就可以得到我们想要的了.

另一个比较实用的技巧是使用**
可以递归查找.我要在目录下寻找Rakefile.

让我们加一个修饰符来递归查找大于20mb的文件.

这个方法不止限于ls
.在这个项目里查找有多少行Clojure代码.

让我们递归的删除在这个项目里的所有Clojure文件.

恩.但是我不太确信这个命令.所以让我们按<TAB>
列出所有文件来代替.

键入错误名字
经常我们忘了文件名字的大小写,或者错误的输入了文件名的中间部分而不是开头.Zsh能察觉到并帮我们自动的修改.

Zsh修改

有用的别名
除了git的别名,oh-my-zsh提供了许多有用的别名.



用...
帮你移到两层目录外真是太棒了.
Tabs named after the running process
Having the tab name changed to be the same as the running process is useful when you are hunting down where you are running that server.

在Vim里编辑长命令
你可以在Bash和Zsh里用<CTRL>+k
在长命令里来删除字符(我这里怎么是<CTRL>+h
?).但是有时候你想用功能更强大的编辑器来写长命令.
可以按<CTRL>+X <CTRL>+E
把当前命令放到你的$EDITOR
里.

温馨的$EDITOR
.

我们可以编辑命令保存然后就会退回到终端里.
工具插件
oh-my-zsh有一个为工具提供的插件的列表.我用rake插件可以允许你用<TAB>
进入在你Rakefile里的rake命令.

双击<TAB>
可以进入可以选择的列表.

仅此而已?
我直到最近才发现Zsh真他娘的好用啊.原因如下:
Tab补全和选择
活跃的插件社区提供我们基本的dotfile
Bash中99%的东西都能用

你准备好用zsh了吗?


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Ubuntu的发音 Ubuntu,源于非洲祖鲁人和科萨人的语言,发作 oo-boon-too 的音。了解发音是有意...
    萤火虫de梦阅读 99,585评论 9 467
  • Linux命令学习 记录小白学习Linux的过程。 常用命令 man命令 常用工具命令 man命令是Linux下的...
    吃蘑菇De大灰狼阅读 2,795评论 1 15
  • linux资料总章2.1 1.0写的不好抱歉 但是2.0已经改了很多 但是错误还是无法避免 以后资料会慢慢更新 大...
    数据革命阅读 12,239评论 2 33
  • 这两天一直在下雨,下的不是很大,刮风的时候也很少,坐在屋子里几乎听不出外面下雨的声音,因此很难去判断外面是否还在下...
    最后一个小说jia阅读 286评论 0 0
  • 2017年1月,广州佛山,我去上了盛华、知园老师的系统排列初导班,这是我送给自己的一份新年礼物!这六天,每天的课程...
    晓萍Calypso阅读 480评论 4 2