那些我希望在一开始使用 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设计---一个实例
周末闲来无事,做了一个响应式设计的例子.当然,由此并不能窥见响应式设计真谛之一斑.但,对于初次接触响应设计,对于响应式设计的概念依旧模糊不清的同学来说,或许是个启蒙! 闲语暂且不表,进入正题,这里没有 ...
随机推荐
- Mvc htmlhelper that generates a menu from a controller
Simple menu system that grabs a list of actions from a single controller and creates an unordered li ...
- 分享到QQ空间、新浪微博、腾讯微博的代码!
给网页加上分享代码,借助网友的力量推广网站,目前已经很流行了 以下是网页代码 QQ空间分享代码如下: <a href="javascript:void(0);" onclic ...
- scala学习笔记-类型参数中协变(+)、逆变(-)、类型上界(<:)和类型下界(>:)的使用
转载自 fineqtbull http://fineqtbull.iteye.com/blog/477994 有位je上的同学来短信向我问起了Scala类型参数中协变.逆变.类型上界和类型下界的 ...
- Tuning Radio Resource in an Overlay Cognitive Radio Network for TCP: Greed Isn’t Good
好吧,这是09年七月发布在IEEE Communications Magazine的一篇文章. 核心二个词:overlay cognitive radio network,tcp 讲的是,在认知无线网 ...
- cf B. Simple Molecules
http://codeforces.com/contest/344/problem/B #include <cstdio> #include <cstring> using n ...
- Android导航菜单横向左右滑动并和下方的控件实现联动
这个是美团网个人订单的效果,找了很多地方都没找到,自己研究了两天终于弄出来了^_^,有什么问题希望大家指出来,谢谢. 实现原理是上方使用HorizontalScrollView这个可以水平横向拖动的控 ...
- find详解
一.简介 在目录结构中搜索文件,并执行指定的操作. 二.语法 find path -option [ -print ] [ -exec -ok command ] {} \;path: find命令所 ...
- 避免ssh断开导致运行命令的终止:screen
事情是这样的,需要使用ssh登陆服务器,进行工程的编译,结果不知道什么原因ssh出现write failed:broken pipe,掉线了.反复实验了好几次还是这样(白花花的时间啊,又是config ...
- 5.1.1 读取Redis 数据
Redis 服务器是Logstash 推荐的Broker选择,Broker 角色就意味会同时存在输入和输出两个插件. 5.1.1 读取Redis 数据 LogStash::Input::Redis 支 ...
- unix c 08
信号 - signal()改变信号的处理方式.默认情况下,信号在Unix中都有自己的处理方式,如果想改变信号的处理方式,signal/sigaction 可以实现. 信号可以在关键代码处进行屏蔽,因为 ...