在emacs
上使用cygwin
,我经常使用dired
缓冲区使用的一个shell命令使用!绑定到dired-do-shell-command
{{1 。,。eg打开Word文档或Visual Studio项目或其他任何内容。
但在当前目录条目cygstart
上点击!
会导致错误.
。或Cannot operate on
。
我想在绕过它之前发现并允许命令在当前和父目录上运行。 这个限制有什么理由吗?
答案 0 :(得分:1)
dired-do-shell-command
来电dired-get-filename
。
如果您查看dired-get-filename文档,您将看到
(dired-get-filename &optional LOCALP NO-ERROR-IF-NOT-FILEP)
没有在Dired中,返回此行中提到的文件名。
...
可选arg NO-ERROR-IF-NOT-FILEP意味着将
.' and
..'视为常规文件名,如果此行没有文件名,则返回nil。 否则,在这些情况下会发生错误。
dired-get-filename
参数的情况下调用 NO-ERROR-IF-NOT-FILEP
答案 1 :(得分:0)
自提出问题以来,这一限制已被取消。
在当前稳定版的Emacs(24.3)中,您可以使用dired-do-shell-command
上的.
和..