微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何在vim中重新加载文件的属性而不会丢失更改

有时在我点击时在VIM上编辑代码:w我发现文件没有在源服务器上签出(只读FS).

所以我继续svn | Teamprise Explorer然后签出文件(使文件可写),但在那之后:执行w时它给出相同的消息,似乎vim没有检查权限是否已被更改.

现在问题,如果我点击:e文件被重新加载,但我会松开每一个变化,使用:W!不是那么优雅,它可以把你变成一个懒惰的程序员,总是这样做,然后比较’最新版本’.

是否存在一些如何仅重新加载权限?

解决方法

我不知道如何仅加载权限,但还有其他一些事情要尝试.

一种是使用here中的脚本在文件只读时阻止修改

function UpdateModifiable()
  if !exists("b:setmodifiable")
    let b:setmodifiable = 0
  endif
  if &readonly
    if &modifiable
      setlocal nomodifiable
      let b:setmodifiable = 1
    endif
  else
    if b:setmodifiable
      setlocal modifiable
    endif
  endif
endfunction
autocmd BufReadPost * call UpdateModifiable()

另一种是为源代码控制获取或编写插件.我们在工作中使用perforce,我发现了一个插件,可以让我直接从vim菜单中查看perforce.此外,如果我尝试编辑未签出的文件,vim会提示我询问是否要这样做.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐