在当前目录中填写最新使用的文件

时间:2015-02-06 15:24:03

标签: zsh

我正在寻找一种快速访问命令行上最新文件/目录的方法,最好是在ZSH中。

ls -d *(om[1])

给我这样,如果我想用命令,例如少*(om [1])

这也有效。

但是,输入所有括号是很繁琐的,我使用很多 - 因此我正在寻找一种方法来为这个字符串创建一个快捷方式。

我在.zshrc文件中创建了一个函数

lf(){ 
ls -d *(om[1])
}

,我可以这样使用:

less <$(lf)
less <`lf`

,但我发现这仍然不太理想。

less |lf

不起作用。

有没有办法快速访问最新文件而不使用&#34;难以输入字符&#34;?理想情况下,它只是

的内容
less LATEST

有什么想法吗?

2 个答案:

答案 0 :(得分:15)

您可以使用_most_recent_file (^Xm)

  

_most_recent_file(^ Xm)

     

完成与命令行上的模式匹配的最近修改的文件的名称(可能为空)。如果给定数字参数N,则完成第N个最近修改的文件。请注意,完成(如果有)始终是唯一的。

     

- zshcompsys(1) BINDABLE COMMANDS

因此,我们可以输入 CTRL-x - m 来获取最新文件。例如:

% less ;# typing `CTRL-X m` here, we could get:
% less newest-file-or-directory

我们可以在这里指定一些模式,例如:

% less *.log ;# when I want the newest *.log:
% less newest.log

虽然autoload -Uz compinit; compinit中有一些~/.zshrc

答案 1 :(得分:11)

你想要一个zsh global alias

alias -g latest='*(om[1])'
less latest