4

:wを押したときにVIMでコードを編集しているときに、ファイルがソースサーバーでチェックアウトされていないことに気付くことがあります(FSでのみ読み取り可能)。

だから私はsvn|Teamprise Explorerに行き、ファイルをチェックアウトします(ファイルを書き込み可能にします)が、その後:wを実行すると同じメッセージが表示され、vimはアクセス許可が変更されたことをチェックしないようです。

問題は、:eを押すとファイルがリロードされますが、:wを使用してすべての変更を失うことになります。それほどエレガントではないので、怠惰なプログラマーに変身し、常にそれを実行してから「最新バージョン」と比較することができます。

権限のみをリロードする方法はありますか?

4

1 に答える 1

3

権限のみをロードする方法はわかりませんが、他にもいくつか試すことがあります。

1つは、ここからのスクリプトを使用して、ファイルが読み取り専用の場合に変更を防ぐことです。

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()

もう1つは、ソース管理用のプラグインを取得または作成することです。私たちは職場でPERFORCEを使用しており、vimメニューから直接PERFORCEからチェックアウトできるプラグインを見つけました。また、チェックアウトされていないファイルを編集しようとすると、vimは編集するかどうかを尋ねるプロンプトを表示します。

于 2012-08-30T13:11:44.130 に答える