zsh使用技巧(WIP)

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

关于叹号的用法

先说个很基本的用法,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>  # 进入刚才的建立的目录

关于星号的用法

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

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' # Nzsh

例子:配置

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

L 文件大小

(WIP)搜索

配置zsh

这一部分介绍的是bash支持的用法,而zsh默认不支持。如何去配置,完成这些功能。
C_X C_E 用默认的文本编辑器编辑命令
M_. 倒序一次遍历命令的最后一个参数遍历

相关文章
相关标签/搜索