我正在寻找一种快速访问命令行上最新文件/目录的方法,最好是在ZSH中。
ls -d *(om[1])
给我这样,如果我想用命令,例如少*(om [1])
这也有效。
但是,输入所有括号是很繁琐的,我使用很多 - 因此我正在寻找一种方法来为这个字符串创建一个快捷方式。
我在.zshrc文件中创建了一个函数
lf(){
ls -d *(om[1])
}
,我可以这样使用:
less <$(lf)
less <`lf`
,但我发现这仍然不太理想。
less |lf
不起作用。
有没有办法快速访问最新文件而不使用&#34;难以输入字符&#34;?理想情况下,它只是
的内容less LATEST
有什么想法吗?
答案 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