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. Struts2的OGNL的用法

    1 <%@ page language="java" import="java.util.*" pageEncoding="ISO-8859-1 ...

  2. HDU 4417 Super Mario(线段树)

    Super Mario Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  3. HDU 3333 Turing Tree (线段树)

    Turing Tree Time Limit: 6000/3000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Tota ...

  4. Redis集群部署文档(Ubuntu15.10系统)

    Redis集群部署文档(Ubuntu15.10系统)(要让集群正常工作至少需要3个主节点,在这里我们要创建6个redis节点,其中三个为主节点,三个为从节点,对应的redis节点的ip和端口对应关系如 ...

  5. python基础-第十一篇-11.2DOM为文档操作

    文档对象模型(DOM)是一种用于HTML和XML文档的编程接口 节点类型 12种节点类型都有NodeType属性来表明节点类型 节点关系 <div id="t"> &l ...

  6. SpringCloud 入门

    1. 入门概述 SpringBoot专注于快速方便的开发单个个体微服务; SpringCloud:关注全局的微服务协调治理框架,它将SpringBoot开发的一个个单体微服务整合并管理起来, 为各个微 ...

  7. replace未全局替换的坑

    今天是名副其实的周六.悠闲了一早上(太阳). 真是人在家中坐,BUG自天上来.哈哈其实也不是自天上来,还是自己之前埋下的雷. 所以修复完线上的bug,我脑中立刻浮现出两件还需要做的事情: 一,就是我现 ...

  8. linux页缓存

    2017-04-25 本节就聊聊页缓存这个东西…… 一.概述 页缓存是一个相对独立的概念,其根本目的是为了加速对后端设备的IO效率,比如文件的读写.页缓存顾名思义是以页为单位的,目前我能想到的在两个地 ...

  9. Python用MySQLdb, pymssql 模块通过sshtunnel连接远程数据库

    转载自 https://www.cnblogs.com/luyingfeng/p/6386093.html 安全起见,数据库的访问多半是要做限制的,所以就有一个直接的问题是,往往多数时候,在别的机器上 ...

  10. Data striping

    条带化是把连续的数据分割成相同大小的数据块,把每段数据分别写入到阵列中的不同磁盘上的方法. 当多个进程同时访问一个磁盘时,可能会出现磁盘冲突.大多数磁盘系统都对访问次数(每秒的 I/O 操作,IOPS ...