2012-08-30 34 views
4

有時,當我點擊時在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('%')。' ================================================== ='' –

回答

3

我不知道如何只加載權限,但還有其他一些事情要嘗試。

一是要防止修改時只讀文件時,使用腳本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會提示我詢問是否要這樣做。

相關問題