那些我希望在一开始使用 Zsh(oh-my-zsh) 时就知道的
原文地址:http://segmentfault.com/a/1190000002658335 作者:xavier
自带的插件
其实我用了 oh-my-zsh 快三个月后才知道原来他自带了很多插件没有开启。。。
如何开启?找到 ~/.zshrc 有一行 plugins=(git),想加什么插件就把名字放里面就是了,比如plugins=(rails git ruby) 就开启了rails,git 和 ruby 三个插件。
更多插件请进入 ~/.oh-my-zsh/plugins文件夹探索,也可以看看 wiki 里的 Plugins Overview,每个人的需求不一样,每个插件试试总能找到惊喜。里面有一些比较神奇的插件,比如敲两下esc 它会给你自动加上 sudo 的 sudo 插件,让复制显示进度条的cp插件,解压用的 extract 插件(有没有觉得在命令行下敲一大堆选项才能解压有点奇怪?我也觉得),vi 粉的vi-mode 等等...
z
嗯,这也是个自带的但是没有开启的插件。为什么单独把它拿出来讲呢?因为他妈的太好用了,没有它我根本就不想用命令行。简直就是可以无脑跳跃,比如你经常进入~/Documents目录,按下 z doc 一般它就可以跳进去了(当然首先你得用一段时间让它积累一下数据才能用)。类似的插件还有好几个比如autojump,fasd,这类东西好像叫 FS Jumping,这里有个完整列表:https://github.com/robbyrussell/oh-my-zsh/wiki/Plugins-Overview#fs-jumping|fc0d85896881858ef77858d115b56c2020 |
d
在 fish shell 里你可以按alt 加左右箭头随意穿梭于历史记录中,就像 GUI 文件浏览器的
前进,后退。zsh 没有这么好用,但是按一下 d 再回车你会看到最近的历史记录,然后你就可以通过数字比如 1, 2 之类的返回到某个历史记录中了。也是非常好用的。
ls
每次按 ls 再按回车?这个感觉就像是敲clear而不是ctrl+L去清屏,Don't Repeat Yourself,按 alt+L。
zsh-autosuggestions
官方的介绍是Fish-like fast/unobtrusive autosuggestions for zsh,没错,这是模仿fish shell 的一个插件,作用基本上就是根据历史记录即时提示。没有这个东西让我感觉自己很盲目。没有用过 fish 的同学可能觉得它有点奇怪,但是一旦适应它以后就会发现它会大幅度的提高效率(按 ctrl+E 是正确姿势)。注意:它不是 oh-my-zsh 自带的,大家可以去github 看它的安装说明。
自带的 Git Aliases
git 插件是默认开启的,大家可能注意到它能够自动补全以及显示所在 branch。对于一个 git 重度用户,一些 aliases 是不可缺少的。相信我,一旦习惯了 aliases,就会觉得原来敲那么一大堆命令真是不能忍了(即使它能够自动补全)。下面列一些我最常用的(当然也是 oh-my-zsh 自带的,更多请看 wiki):
| Alias | Command |
|---|---|
| <pre>g</pre> | <pre>git</pre> |
| <pre>gst</pre> | <pre>git status</pre> |
| <pre>ga</pre> | <pre>git add</pre> |
| <pre>gp</pre> | <pre>git push</pre> |
| <pre>gc</pre> | <pre>git commit -v</pre> |
| <pre>gc!</pre> | <pre>git commit -v --amend</pre> |
zsh_stats
敲 zsh_stats 可以看到你的使用频率前 20 的命令是什么!
官方的 wiki(重要!)
官方 wiki 上面给出了很多有用的功能介绍,比如一些 aliases,像..., ...., take 等等。
如果完整的看完了 wiki 的话我前面的介绍都是废话了。
结语
oh-my-zsh 太慢了?请换 SSD。每次看到别人不停的做什么精简优化系统的甚至编译内核榨干系统性能的时候(以前我也是这样,直到买了个 SSD),我只会建议他买个 SSD 和 内存条。人生苦短,能花钱的时候就不要花时间。
推荐一个不相关的:trash-cli,就是命令行版的回收站,它的神奇之处在于不是简单的把文件移动到回收站,而且可以在回收站里恢复。所以它说自己是
Command line interface to the freedesktop.org trashcan,我的 zshrc 里有一行:alias rm="trash-put"其他的一些非常有用的 tips 想到再补充。
补上我的配置文件们:https://github.com/dd1994/dotfiles| fc0d85896881858ef77858d115b56c2085 |
补上一个我最近录的视频:http://www.tudou.com/programs/view/dmfKA8BWyCA/|fc0d85896881858ef77858d115b56c2087 |
那些我希望在一开始使用 Zsh(oh-my-zsh) 时就知道的的更多相关文章
- 希望早几年知道的5个Unix命令
原文: http://spin.atomicobject.com/2013/09/09/5-unix-commands/ 希望早几年知道的5个Unix命令 使用*nix系统已经有一段时间了.但是还是有 ...
- Iterm2安装Zsh + Oh My Zsh+Solarized
安装Oh My Zsh curl -L https://raw.github.com/robbyrussell/oh-my-zsh/master/tools/install.sh | sh 安装Zsh ...
- Mac OS 终端强化美化:iterm2 + zsh + oh~my~zsh 设置教程
为了获得更好的排版效果,文章改用markdown撰写,故重发一次. 前言 mac自带的terminal终端没有文件名高亮等功能,而且界面不是很好看,故今晚学舍友折腾了终端,可以让自己使用起来更加方便, ...
- 我希望早几年知道的5个Unix命令
使用*nix系统已经有一段时间了.但还是有一些命令是被我一直忽略的,真希望我能早几年发现这些命令. 1. man ascii 这个命令会打印出八进制.十六进制和十进制的ASCII码表.难以置信我是一个 ...
- 每天多一点(2016.12.04)》Javascript隐式转换
乱想 javascript为什么需要隐式转换?如果没有会出现什么情况? 找了一圈没有看到关于这个的讨论,只好自己研究了,可能不一定正确,自行辨知. 郁闷就是郁闷在好好的,为什么要搞个隐式转换,一般来讲 ...
- Javascript隐式转换
乱想 javascript为什么需要隐式转换?如果没有会出现什么情况? 找了一圈没有看到关于这个的讨论,只好自己研究了,可能不一定正确,自行辨知. 郁闷就是郁闷在好好的,为什么要搞个隐式转换,一般来讲 ...
- ScrumMaster需要了解的7件事
当一个组织开始使用Scrum时,被选为担任Scrumaster角色的人通常来自于那些有管理背景的人.组织期望那些管理人员,所谓的“大师”,能够交付Scrum项目因为她有管理的专门知识——并且可以同时管 ...
- 性能测试系列-java gc调优
性能测试中除了需要做好性能测试外,我们还需要做性能测试后的,性能调优,需要发现性能问题,也需要做性能调优,在做性能调优中,jvm的性能调优是经常遇到的一个. 随着jdk版本的迅速变化,jdk里面的GC ...
- 学习之响应式Web设计---一个实例
周末闲来无事,做了一个响应式设计的例子.当然,由此并不能窥见响应式设计真谛之一斑.但,对于初次接触响应设计,对于响应式设计的概念依旧模糊不清的同学来说,或许是个启蒙! 闲语暂且不表,进入正题,这里没有 ...
随机推荐
- 根据identifier从StoryBoard中获取对象,UIButton的图片文件位置
@import url(http://i.cnblogs.com/Load.ashx?type=style&file=SyntaxHighlighter.css);@import url(/c ...
- 《转》ACTIONBAR-PULLTOREFRESHLIBS+沉浸式在部分手机上的布局错乱,目前知道的三星系统(TouchWiz)
转载:http://www.cnblogs.com/wubingshenyin/p/4413672.html(原文连接) 前段时间看见ActionBar-PullToRefreshLibs用来刷新很好 ...
- CoreData学习-最好的一片文章
CoreData学习-最好的一片文章 分类: IOS重新上路2014-05-25 18:00 1937人阅读 评论(0) 收藏 举报 目录(?)[+] 写的很好的一篇教程,我什么时候能写出这么 ...
- 错误:指定的任务可执行文件位置 D:\Android\platform-tools\aapt.exe 无效
android-apt-compiler: Cannot run program "D:\android-sdk\platform-tools\aapt 装上IntelliJ IDEA /下 ...
- C语言中的声明解析规则——数组,指针与函数
摘要:C语言的申明存在的最大问题是:你无法以一种人们所习惯的自然方式和从左向右阅读一个声明,在引入voliatile和const关键字以后,情况更加糟糕了.由于这些关键字只能出现在声明中,是的声明形式 ...
- POJ 2752 Seek the Name, Seek the Fame (KMP next 数组 变形)
题意:给一个字符串S,判断在什么下标的时候,前缀和后缀相等,输出前缀和后缀相等的点. 分析:next数组的一种很巧妙的用法 next数组表示的意义是当前下标前面k字符和开头的前面k个字符相等 所以就会 ...
- MVC中使用EF(1):为ASP.NET MVC程序创建Entity Framework数据模型
为ASP.NET MVC程序创建Entity Framework数据模型 (1 of 10) By Tom Dykstra |July 30, 2013 Translated by litdwg ...
- ListView之BaseAdapter
BaseAdapter可以实现自定义的丰富子项视图,本文实现如下所示结果: 实现代码: /* ListView :列表 BaseAdapter 通用的基础适配器 * * */ public class ...
- WPF动画
System.Windows.Media.Animation 这个命名空间中,包含了三种动画类:线性插值动画类(17个).关键帧动画(22个).路径动画(3个). 线性插值动画类(17个)如下: By ...
- chroot 与 jail
所谓“监牢”就是指通过chroot机制来更改某个进程所能看到的根文件夹,即将某进程限制在指定文件夹中,保证该进程仅仅能对该文件夹及其子文件夹的文件有所动作,从而保证整个server的安全. 创建chr ...