我写日记并以 YYYY-MM-DD.markdown 格式命名文件。当我想修改最后一条条目时,我想使用快捷方式打开它,而不是写出完整的日期(bash 补全根本没用)。
如何在 vim 中打开最后一个文件(按字母顺序排列)?
答案1
如果它确实是最后一个文件:
vim $(find . -type f -maxdepth 1 | sort | tail -n 1)
或者更具体地说关于 markdown 文件:
vim $(find . -name "*.markdown" -maxdepth 1 | sort | tail -n 1)
当然,您可以在 bash 配置文件中为其创建一个别名。
alias newest='vim $(find . -name "*.markdown" -maxdepth 1 | sort | tail -n 1)'
编辑是因为 xargs 和 vim 在退出后会引起一些严重的问题。必须找出原因。我以前也用过反引号,但使用$()
而不是 反引号 是新的做法。
答案2
vim "$(ls -1 *.markdown | tail -n 1)"
使用文件名中的空格,并且不需要find
(默认情况下会递归,这可能不是您想要的)也不需要sort
(ls
默认情况下输出按字母顺序排列)。