zsh使用技巧(WIP)


看了這個問題也關注這個問題很久了,很多人介紹的都是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_. 倒序一次遍歷命令的最后一個參數


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM