一次次下载东西,下载完之后解压缩,然后又对解压缩后的文件进行操作,里面涉及到不少的文件名,虽然zsh的文件名补全已经非常好用了,但是,如果不想把tab按上好多次的话,文件名的第一个字母你还是得知道的。所以呢,我以前的操作大概是,ls看文件名,然后敲第一个或者前两个字母,然后tab上好几次,如果不幸遇上中文名就更麻烦了。用bash的朋友也许会说“这是什么大不了的事阿?”,但是用zsh的,都是懒人,我已经懒到不想这样敲下去了。于是,我在.zshrc里面加了这么一句:

alias -g NN="*(oc[1])"

于是,NN便在我的zsh里面总是指向按照inode更新时间最新修改的那个文件,下载完7z x NN就解压缩,解压缩了cd NN就进入解压缩后的目录,方便吧?:P

这里涉及到zsh的两个特性:

  1. global alias: alias -g后面的,就是全局命令别名,放在命令的哪个地方都可以,比较常见的用法是用来定义一些常用的管道命令,比如alias -g L='|less'
  2. glob qualifier: *就是常见的通配符,zsh里面在后面可以加括号修饰它,这里,o是表示排序,c表示排序方式为inode time,方括号限定了只显示一个。用inode change time而非file modification time是为了让解压缩出来的修改时间较旧的文件依然被我们的NN所指向。

怎么样,赞吧?