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_. 倒序一次遍歷命令的最後一個參數遍歷

相關文章
相關標籤/搜索