1

使用emacson cygwin,我经常使用bound to从dired缓冲区中使用的一个 shell 命令是,例如打开 Word 文档或 Visual Studio 项目或其他任何东西。!dired-do-shell-commandcygstart

但是点击!当前目录条目.会导致错误Cannot operate on。或..'

我想在绕过它并允许在当前目录和父目录上运行命令之前找出答案。这种限制有什么理由吗?

4

2 回答 2

1

dired-do-shell-command来电dired-get-filename

如果您查看 dired-get-filename 文档,您会看到

(dired-get-filename &optional LOCALP NO-ERROR-IF-NOT-FILEP)

在 Dired 中,返回此行中提到的文件名。

...

可选参数 NO-ERROR-IF-NOT-FILEP 表示将.' and ..' 视为常规文件名,如果此行上没有文件名,则返回 nil。否则,在这些情况下会发生错误。

dired-get-filenameNO-ERROR-IF-NOT-FILEP参数调用

于 2012-10-24T19:12:53.447 回答
0

自提出问题以来,此限制已被取消。

在 Emacs (24.3) 的当前稳定版本中,您可以使用dired-do-shell-commandon...

于 2013-12-06T10:47:15.337 回答