如何重新加载vim中的文件属性而不会松动更改

问题描述:

有时,当我点击时在VIM上编辑代码时:w我发现文件没有在源服务器上检出(只读在FS上)。如何重新加载vim中的文件属性而不会松动更改

所以我继续svn | Teamprise资源管理器然后检出文件(使文件可写),但在此之后:w执行时会给出相同的消息,好像vim不检查权限是否已更改。

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

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

+0

只要在第一个w!之后注册,下一个:w是“解锁”的,但这也不是那么优雅。 –

+0

作为第2章,在我的.vimrc我有以下,女巫我认为是一个很好的出租车:'cab w! echo'Atenção,fazer o CHECKOUT do arquivo'.expand('%')。' ================================================== ='',但只有当它是一个C++文件(或TFS候选/典型文件)时。 –

+0

翻译:'cab w! echo'注意,使CHECKOUT文件'.expand('%')。' ================================================== ='' –

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

一是要防止修改时只读文件时,使用脚本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菜单直接执行结账。另外,如果我尝试编辑未检出的文件,vim会提示我询问是否要这样做。