编辑文件并用:w保存后,在vim中删除文件的“只读”属性。

Som*_*DOS 4 unix linux vim readonly

:w!在vim中保存文件时,我想更改文件的只读属性。我该怎么做?(我不介意是否必须调用外部脚本)。

我正在使用Linux。

我知道我可以使用以下命令使用外部脚本:autocmd BufWrite /tmp/* !sh /tmp/script.sh。因此,我想在调用时:w!调用chmod命令:chmod命令将如下所示:

autocmd BufWrite <:w! condition> !chmod u+w %
Run Code Online (Sandbox Code Playgroud)

所以,我该怎么做“:w!” 条件?有可能还是我需要使用其他结构?

oka*_*zed 5

您正在寻找v:cmdbang。

function! g:ChmodOnWrite()
  if v:cmdbang
    silent !chmod u+w %
  endif
endfunction

autocmd BufWrite * call g:ChmodOnWrite()
Run Code Online (Sandbox Code Playgroud)