【发布时间】:2010-11-17 00:41:02
【问题描述】:
在dired中,您只需编辑目录列表然后保存即可重命名文件。
在使用 dired 重命名时,是否可以使用替代方法进行重命名?我想使用“svn mv”、“bzr mv”或“git mv”而不是仅仅重命名,这样我就可以在源代码控制系统中注册额外的元数据。
【问题讨论】:
-
对于 git mv,请参阅this question。
在dired中,您只需编辑目录列表然后保存即可重命名文件。
在使用 dired 重命名时,是否可以使用替代方法进行重命名?我想使用“svn mv”、“bzr mv”或“git mv”而不是仅仅重命名,这样我就可以在源代码控制系统中注册额外的元数据。
【问题讨论】:
查看dired-aux.el 中的函数,似乎内置的rename-file 最终被dired-rename-file 调用(这是dired-mode 中绑定到'R' 的函数)。
您可以做的是获取该函数并将对rename-file 的调用替换为对运行适当VCS 命令的shell-command 的调用。
但是,另一个(更好/更容易)的选择是使用 Emacs 的 VCS 模式之一来直接重命名您的版本控制系统中的文件——查看magit 或PSVN 或MercurialMode,具体取决于关于你选择的毒药......
【讨论】:
我认为 dired 没有为此提供任何钩子。你可能会被困在做类似的事情
! hg mv ? target
【讨论】: