看了这个问题也关注这个问题很久了,很多人介绍的都是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. poj3162(树形dp+线段树求最大最小值)

    题目链接:https://vjudge.net/problem/POJ-3162 题意:给一棵树,求每个结点的树上最远距离,记为a[i],然后求最大区间[l,r]满足区间内的max(a[i])-min ...

  2. Docker CE 下载方式

    1. 找到一个网址挺好的 https://download.docker.com/linux/ubuntu/dists/xenial/pool/stable/arm64/ mark 一下 以后用.

  3. H2内嵌数据库的使用

    H2内嵌数据库的使用 H2是一个开源的嵌入式数据库引擎,采用java语言编写,不受平台的限制. 同时H2提供了一个十分方便的web控制台用于操作和管理数据库内容. H2还提供兼容模式,可以兼容一些主流 ...

  4. PAT B1006 换个格式输出整数 (15)

    AC代码 #include <cstdio> const int max_n = 3; char radix[max_n] = {' ', 'S', 'B'}; int ans[max_n ...

  5. 初识WSGI接口

    WSGI WSGI全称为Web Server Gateway Interface,WSGI允许web框架和web服务器分开,可以混合匹配web服务器和web框架,选择一个适合的配对.比如,可以在Gun ...

  6. STM32的堆与栈与编译信息查看

    STM32的堆与栈与编译信息查看 因为一个项目中使用malloc函数动态分配内存400多个字节,返回为0,分配失败.查找失败原因,为堆空间不足分配导致.查看堆和栈分别设置了2K,按正常情况看应能满足分 ...

  7. springboot实现上传并解析Excel

    添加pom依赖 <!-- excel解析包 --> <!-- https://mvnrepository.com/artifact/org.apache.poi/poi --> ...

  8. 【spring Boot】spring boot1.5以上版本@ConfigurationProperties取消location注解后的替代方案

    前言 =========================================== 初步接触Spring Boot ===================================== ...

  9. C C语言中 *.c和*.h文件的区别!

    一个简单的问题:.c和.h文件的区别学了几个月的C语言,反而觉得越来越不懂了.同样是子程序,可以定义在.c文件中,也可以定义在.h文件中,那这两个文件到底在用法上有什么区别呢? 2楼:子程序不要定义在 ...

  10. webmagic学习之路-1:采集安居客列表页测试

    ---恢复内容开始--- package com.action; import java.util.ArrayList; import java.util.List; import java.util ...