有时在我点击时在VIM上编辑代码:w我发现文件没有在源服务器上签出(只读FS).
所以我继续svn | Teamprise Explorer然后签出文件(使文件可写),但在那之后:执行w时它给出相同的消息,似乎vim没有检查权限是否已被更改.
现在问题,如果我点击:e文件被重新加载,但我会松开每一个变化,使用:W!不是那么优雅,它可以把你变成一个懒惰的程序员,总是这样做,然后比较’最新版本’.
是否存在一些如何仅重新加载权限?
解决方法
我不知道如何仅加载权限,但还有其他一些事情要尝试.
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会提示我询问是否要这样做.