我可以使用Vim重命名目录中的文件吗?


4

如果我打开一个目录 vim 运用 vim . 我将获得当前目录的文件浏览器类型接口。从那里我应该浏览到一个文件,然后开始编辑它。

我想使用此界面重命名文件。正常 vim 重命名就像 %s/term1/term2/,但是当我在这里尝试时,它会返回: E21: Cannot make changes, 'modifiable' is off

有办法转 modifiable 在这种情况下,或者这只是意味着它不能用vim这样做?

Answers:


7

是的,它不可能那样做。

“文件浏览器类型接口”由名为netrw的内置插件提供。它是只读的,所以是的,你不能修改它。

你应该打 R 重命名光标或标记文件下的文件。

看到 :help netrw:help netrw-browse-maps 更具体地说 :help netrw-R

如果你想使用Vim批量重命名文件,你应该尝试 qmv 来自 renameutils 包裹或 vidir 来自 moreutils 包裹(感谢德米特里的抬头)。


是的,这是有道理的。我会看看qmv!
Questionmark

2
N. B. qmv 具有 一些麻烦 与非ascii字符,而 vidirmoreutils 没有。
Dmitry Alexandrov


0

Netrw将允许您应用模式来重命名文件,因为大约v143。过程:标记文件(使用mr根据模式标记文件),然后点击R.在第一次重命名查询时,使用字符串进行响应 s/-frompat-/-topat-/ 在哪里 -frompat--topat- 是vim替代模式。该 s/ 这是必需的。例:

s/\(.*\)\.c/\1.cpp/

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.