如果我打开一个目录 vim
运用 vim .
我将获得当前目录的文件浏览器类型接口。从那里我应该浏览到一个文件,然后开始编辑它。
我想使用此界面重命名文件。正常 vim
重命名就像 %s/term1/term2/
,但是当我在这里尝试时,它会返回: E21: Cannot make changes, 'modifiable' is off
。
有办法转 modifiable
在这种情况下,或者这只是意味着它不能用vim这样做?
如果我打开一个目录 vim
运用 vim .
我将获得当前目录的文件浏览器类型接口。从那里我应该浏览到一个文件,然后开始编辑它。
我想使用此界面重命名文件。正常 vim
重命名就像 %s/term1/term2/
,但是当我在这里尝试时,它会返回: E21: Cannot make changes, 'modifiable' is off
。
有办法转 modifiable
在这种情况下,或者这只是意味着它不能用vim这样做?
Answers:
是的,它不可能那样做。
“文件浏览器类型接口”由名为netrw的内置插件提供。它是只读的,所以是的,你不能修改它。
你应该打 R
重命名光标或标记文件下的文件。
看到 :help netrw
, :help netrw-browse-maps
更具体地说 :help netrw-R
。
如果你想使用Vim批量重命名文件,你应该尝试 qmv
来自 renameutils 包裹或 vidir
来自 moreutils 包裹(感谢德米特里的抬头)。
看看 renamer.vim - 使用vim的强大功能重命名文件组 插入。喜欢 NETRW ,它在暂存缓冲区中显示目录内容,然后允许您编辑该缓冲区,最后将编辑应用于基础文件。
我尝试使用“system()”来使用shell完成此任务(如果是这种情况,当然)创建一个函数来完成“.vimrc”上的这个任务。
func! YourFunc() range
let l:result = system("your shell command")
[...]
endfunc
请参阅“system()”的用法 https://github.com/eduardolucioac/groovim/blob/master/.vimrc
[]的