Oh My Zsh 除了为我们提供快捷的命令行操作之外,还提供了强大丰富的插件机制,每个社区贡献者都可以贡献自己的插件,让整个生态体系更加丰富完善。今天给大家介绍了一下它的实用工具类插件。

前面我们分别介绍过了 Oh My Zsh 的基本用法和它的 git 插件,有兴趣的同学也可以查看前面的文章:

Oh My Zsh 插件篇 - git

http://swiftcafe.io/2015/11/29/omz-git/

你好,Oh My Zsh - 社区力量全新方式定义命令行

http://swiftcafe.io/2015/10/31/cafe-time-omz/

web-search

简单回顾后,我们进入这次的主题。首先我们介绍一个叫做 web-search 的插件。它能让我们在命令行中使用搜索引擎进行搜索。比如  google swift 这个命令就可以使用 Google 搜索 swift 关键字。

web-search 插件在默认情况下没有开启,所以我们需要做一点小工作把它打开。

  1. 打开 ~/.zshrc 文件。

  2. 找到  plugins=(git) 这行定义。

  3. 把它修改成  plugins=(git web-search)

然后重新开启一个命令行窗口我们就可以使用 web-content 的功能了。

我们可以使用 google 搜索:

google swift 学习

这样会打开 google 搜索 “swift 学习” 这个关键字。

web-content 同样集成了 baidu, bing 这些搜索引擎:

baidu swift 学习
bing 天气预报

只需在命令行中输入要搜索的关键字和搜索引擎,就可以进行搜索了,还是很方便的。

last-working-dir

last-working-dir 插件,可以记录上一次退出命令行时候的所在路径,并且在下一次启动命令行的时候自动恢复到上一次所在的路径。这一切不需要我们进行任何操作,全部都是自动完成的。只需要在 .zshrc 文件中将插件开启即可。

catimg

catimg 这个命令将图片文件的内容输出到命令行, 比如:

catimg swift.png

大家可以用自己的图片尝试一下。

encode64

encode64 是一个 Base64 编码的插件,可以让大家很方便的调试编码过程,使用也很简单:

$ encode64 some_string
=> c29tZV9zdHJpbmc=

urltools

同样的,urltools 还提供了 URL 编码的机制,我们可以使用 urlencode 命令对 url 进行编码:

urlencode http://google.com
http%3A%2F%2Fgoogle.com

还对应了一个 urldecode 命令来对 url 进行解码。

urldecode http%3A%2F%2Fgoogle.com
http://google.com

wd

wd 插件是我比较喜欢的一个,它的作用就是能够快速的切换到常用的目录。我们用命令行时经常会遇到这样一种情况,我们常用的目录就那么几个,而这些目录有时候会再很深的层级中。使用 cd 命令在这些深层级目录中切换就比较耗费时间了。

wd 插件正是为了解决这个问题,比如我们有一个常用的目录 /usr/nginx/www/html,我们首先进入到这个目录中,然后输入

wd add web

这个命令相当于给当前目录做了一个标识,标识名叫做  web ,我们下次如果再想进入这个目录,只需输入:

wd web

这样就可以完成目录切换了,非常方便。

它的原理并不复杂,它维护了一个标识和实际路径的映射表,我们使用 wd add 命令可以添加新的映射,可以使用 wd rm 命令删除已有的映射,还可以使用 wd show 命令查看现有的映射。

这个简单的插件解决了一个很实际的问题,推荐使用。 wd 插件的更多内容可以查看它的 github 主页:  https://github.com/mfaerevaag/wd

Oh My Zsh 插件篇 - 实用工具的更多相关文章

  1. [Linux实用工具]munin-node插件配置和插件编写

    前面介绍了2篇munin使用的相关文章: [Linux实用工具]Linux监控工具munin的安装和配置 [Linux实用工具]Linux监控工具munin的展示(Nginx)   这次介绍一下mun ...

  2. .NET 高效开发之不可错过的实用工具(第一的当然是ReSharper插件)

    工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为 ASP.NET 开发者介绍一些高效实用的工具,包括 SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节 ...

  3. NET 高效开发之不可错过的实用工具(第一的当然是ReSharper插件)

    工欲善其事,必先利其器,没有好的工具,怎么能高效的开发出高质量的代码呢?本文为 ASP.NET 开发者介绍一些高效实用的工具,包括 SQL 管理,VS插件,内存管理,诊断工具等,涉及开发过程的各个环节 ...

  4. 十款让 Web 前端开发人员更轻松的实用工具

    这篇文章介绍十款让 Web 前端开发人员生活更轻松的实用工具.每个 Web 开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具, ...

  5. 欲善事先利器-IEAD插件篇

    工欲善其事,必先利其器,好鞋踢好球是非常合乎逻辑的事情. --<长江七号> 同样的开场白,不一样的酒,不一样的故事. 上篇<欲善事先利器--系统篇>已经推荐了一些个人常用的效率 ...

  6. Bootstrap<基础十> 响应式实用工具

    Bootstrap 提供了一些辅助类,以便更快地实现对移动设备友好的开发.这些可以通过媒体查询结合大型.小型和中型设备,实现内容对设备的显示和隐藏. 需要谨慎使用这些工具,避免在同一个站点创建完全不同 ...

  7. 10款让WEB前端开发人员更轻松的实用工具

    这篇文章介绍10款让Web前端开发人员生活更轻松的实用工具.每个Web开发人员都有自己的工具箱,这样工作中碰到的每个问题都有一个好的解决方案供选择. 对于每一项工作,开发人员需要特定的辅助工具,所以如 ...

  8. .Net 高效开发之不可错过的实用工具(转)

    .Net 高效开发之不可错过的实用工具(转) 本文摘自: http://www.cnblogs.com/powertoolsteam/p/5240908.html#3372237 Visual Stu ...

  9. 定制Eclipse IDE之插件篇(二)

    上文回顾:定制Eclipse IDE之插件篇(一) 延续上一篇的插件篇,这一篇将会讲到一个最关键的插件aptana. 一.aptana插件 官方的解释我就不说了,从下面图可以看到插件提供了什么功能,列 ...

随机推荐

  1. 任务调度quartz整理

    一张图,了解quartz运行机制: 此图表示:Scheduler是容器,Trigger是多个触发器,jobDetail是多个任务,Calendar是多个日历. jobDetail任务,需要指定类实现J ...

  2. HDU3231 Box Relations——三维拓扑排序

    HDU3231 Box Relations 题目链接:http://acm.hdu.edu.cn/showproblem.php?pid=3231 题目意思:在一个三维空间上有一些棱和坐标轴平行的立方 ...

  3. I tensorflow/core/platform/cpu_feature_guard.cc:141] Your CPU supports instructions that this TensorFlow binary was not compiled to use: AVX2 FMA 问题

    临时解决版本进入python后只需下面命令 import os os.environ['TF_CPP_MIN_LOG_LEVEL'] = '2'

  4. order meeting room - 离散度30min

    w <meta charset="UTF-8"> <?php include('conn.php'); include('w_fun.php'); include ...

  5. Sublime Text 中文

    1.打开Sublime Text 2.Ctrl+Shift+P,输入Package Control: Install Package回车 3.输入LocalizedMenu,回车 4.点击菜单help ...

  6. Python的subprocess模块(二)

    原文:http://blog.chinaunix.net/uid-26000296-id-4461522.html 一.subprocess 模块简介 subprocess最早是在2.4版本中引入的. ...

  7. CentOS7安装MySQL 5.7

    1.源码包下载 wget https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-boost-5.7.20.tar.gz 2.编译安装 安装依赖包: y ...

  8. 我不想用for循环

    为什么要挑战自己在代码里不写for loop?因为这样可以迫使你去使用比较高级.地道的语法或库.文中以python为例子,讲了不少大家其实在别人的代码里都见过.但自己很少用的语法. 这是一个挑战.我要 ...

  9. 初识Java集合框架(Iterator、Collection、Map)

    1. Java集合框架提供了一套性能优良.使用方便的接口和类,它们位于java.util包中 注意: 既有接口也有类,图中画实线的是类,画虚线的是接口 使用之前须要到导入java.util包 List ...

  10. 对BeforeSuite和BeforeTest的理解

    在BeforeSuite.BeforeTest.BeforeClass.BeforeMethod及BeforeGroups中,后面三个注解都比较好理解,其实BeforeSuite.BeforeTest ...