看了这个问题也关注这个问题很久了,很多人介绍的都是oh-my-zsh(一下简称omz)的一些特征。不可否认这是一个很优秀的框架,但zsh的世界不应该全是omz。这个回答,我想介绍一下zsh原生自带的一些功能,技巧。以及除了omz以外,有哪些优秀的插件框架。

关于叹号的用法

先说个很基本的用法,Shell都支持!!,!^,!$,!*。这四种用法分别指代上一条命令、上一条命令的第一个参数、上一条命令的最后一个参数、上一个命令的全部参数。可以按补全,也可直接执行,zsh会自动补全,再去执行。bash的话,按不会帮你补全。

zsh% echo 1 2 3 4
1 2 3 4 "!!" # echo 1 2 3 4
"!^" # 1
"!$" # 4
"!*" # 1 2 3 4

非首位参数可以用!:指定

zsh% echo 1 2 3 4
1 2 3 4 "!:1" # 1
"!:-3" # echo 1 2 3
"!:1-1" # 1
"!:3-4" # 3 4

zsh还支持!?这种用法,上面的基本叹号用法只能查找上一个命令的参数。这种用法可以更灵活的搜索。

  • !?<文本> 在历史命令里查找上一个包含这个文本的命令
  • !?<文本>?:<^ $ * : :-> 上面的可以补全命令,如果只需要参数,可以使用这个
sudo !?mv           # 移动刚才移动失败的文件
cd !?mkdir?:*<tab> # 进入刚才的创建的目录

关于星号的用法

这里的星号是通配符的增强用法,在*()中添加修饰限定匹配的文件。

基本语法:

m 修改日期

m的默认单位是天,也可以使用小时h,周w,月M m=minutes,d=days(default)w=week,M=Month +n older than n,-n younger than, just n equal to' # N

例子:

  • *(m0) 当天修改过的文件
  • *(^m0) 当天未修改过的文件
  • *(mh-3) 修改小于3小时的文件
  • *(mw+2) 修改超过两星期的文件

L 文件大小

(WIP)

配置zsh

这一部分介绍的是bash支持的用法,而zsh默认不支持。如何去配置,完成这些功能。

C_X C_E 用默认的文本编辑器编辑命令

M_. 倒序一次遍历命令的最后一个参数

zsh使用技巧(WIP)的更多相关文章

  1. linuxtoy.org资源

    https://linuxtoy.org/archives.html Archives 在 Android 系统上安装 Debian Linux 与 R (2015-07-14) Pinos:实现摄像 ...

  2. [zsh]zsh常用小技巧

    文章来源http://yijiebuyi.com/blog/3154040ae0aa3d352c61a10f2664591e.html shell基础: 查看当前使用shell类型: ->ech ...

  3. 使用Unity3D的50个技巧

    使用Unity3D的50个技巧 刚开始学习Unity3D时间不长,在看各种资料.除了官方的手册以外,其他人的经验也是非常有益的.偶尔看到老外这篇文章,觉得还不错,于是翻译过来和大家共享.原文地址:ht ...

  4. Android Gradle 技巧之二: 最爱命令行

    命令行 很多做 Android 开发不久的同学,习惯于使用图形界面,对命令行操作很陌生甚至恐惧.遇到 AS 运行错误,束手无策.AS 为了确保易用性,也在 UI 界面上屏蔽了很多命令行运行的细节,导致 ...

  5. 使用Unity3D的50个技巧:Unity3D最佳实践

    翻译故事 原文:http://devmag.org.za/2012/07/12/50-tips-for-working-with-unity-best-practices/ 这篇技巧,我自己也在翻译, ...

  6. 8 个 Git 的小技巧

    git 已经成为了我日常必备工具之一,我总结我几乎每天使用的8个有用(且简洁)的git技巧.   使用-p选择性添加 当你想提交内容时,你可以通过使用 git commit -am 来选择所有文件或使 ...

  7. Linux学习之常用技巧

    ▌基础 学习 Bash .你可以man bash来看看bash的东西,并不复杂也并不长.你用别的shell也行,但是bash是很强大的并且也是系统默认的.(学习zsh或tsch只会让你在很多情况下受到 ...

  8. 应该知道的Linux技巧

    作者:陈皓(花名:钻风) 这篇文章来源于Quroa的一个问答<What are some time-saving tips that every Linux user should know?& ...

  9. 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 ...

随机推荐

  1. 2019牛客暑期多校训练营(第七场)-E Find the median (线段树+离散化 区间为点)

    题目链接:https://ac.nowcoder.com/acm/contest/887/E 题意:给出L[i],R[i],每次添加L[i]...R[i],求出此时的中位数. 思路:因为添加的数范围为 ...

  2. 基于 CentOS 7 搭建 SVN

    ⒈安装 SVN 服务端 1.安装 Subversion Subversion 是一个版本控制系统,相对于的 RCS . CVS ,采用了分支管理系统,它的设计目标就是取代 CVS . yum inst ...

  3. Django初步完成:登录、注册、退出

    python环境:python2.7 开发工具:pycharm 项目名称:mysite5 app名称:online settings:映射app路径 INSTALLED_APPS = [ 'djang ...

  4. BZOJ 4899 记忆的轮廓

    话说BZOJ 是不是死了啊 (已经没有传送门了) 设 $f[i][j]$ 表示走到第 $j$ 个位置确定了 $i$ 个存档点时的最小代价,并强制第 $j$ 个位置有一个存档点 那么设 $cst[i][ ...

  5. 怎样使用 v-for ?

    v-bind / v-on / v-if / v-for , 这四个指令应该是 vue 里面最常用的了, 之前已经简单记录的前三个的使用方法, 接下来就记一下 v-for 的基本用法. 1. v-fo ...

  6. 修改hosts文件 解决coursera可以登录但无法播放视频的问题

    我们经常为了学习或者了解一些领域的知识为访问国外的网站,但是在国内,很多优秀的网站都被封锁了.在GFW(墙)的几种封锁方式中,有一种就是DNS污染,GFW会对域名解析过程进行干扰,使得某些被干扰的域名 ...

  7. SSD训练网络参数计算

    一个预测层的网络结构如下所示: 可以看到,是由三个分支组成的,分别是"PriorBox"层,以及conf.loc的预测层,其中,conf与loc的预测层的参数是由PriorBox的 ...

  8. JSTreeShaking的webpack-deep-scope-plugin插件的应用

    webpack自身实现词法分析的JSTreeShaking webpack-depp-scope-plugin插件实现作用域分析的JSTreeShaking 一.webpack词法分析的JSTreeS ...

  9. vue-cli实现原理

    分析:https://kuangpf.com/vue-cli-analysis/create/basic-verification.html vue-cli-service :https://blog ...

  10. 如果您的浏览器不支持javascript功能

    如果您的浏览器不支持javascript功能或被禁止使用,那么在访问许多网站(包括此网站)时,某些功能将不可用.我们建议您打开javascript功能以获得最佳的浏览效果.以下是打开它的可能原因和方法 ...