2013-08-31 47 views
11

我試圖使用vimdiff作爲Git的diff工具,但由於某些原因,這些文件總是以只讀模式打開。這對於原始文件是有意義的,但對於我修改過的文件不適用(因爲我還沒有提交它們)。如何防止git vimdiff以只讀方式打開文件?

這是我目前的.gitconfig:

[diff] 
     tool = vimdiff 
[merge] 
     tool = vimdiff 
[difftool] 
     prompt = false 

任何想法可能是什麼造成的?

回答

12

這是vimdiff的默認期望行爲。你可以使用:set noro來取消設置。

+0

你知道,如果有任何的方式來建立Vimdiff可以使該選項始終是嗎? –

+2

在你的vimrc文件中,構建下列行: set noro – Shunya

+0

@Laurent,當我在vim上尋求幫助時,我發現這個URL(它可能對你有幫助)。請檢查頁面底部的「更改讀取/只讀文件以便在編輯時讀取/寫入」 URL:http://vim.wikia.com/wiki/Setting_file_attributes_without_reloading_a_buffer。我想這應該是你的vimrc配置文件的一部分。請更新,如果這工作正常.. – Shunya

10

了Git使用的方面Vimdiff的deafult命令:(通過檢查進程列表中找到)

vim -R -f -d -c "wincmd l" -c 'cd "$GIT_PREFIX"' "$LOCAL" "$REMOTE"

您可以覆蓋這通過設置difftool.vimdiff.cmd變量(不使用-R,只讀模式)。

git config --global difftool.vimdiff.cmd 'vim -f -d -c "wincmd l" -c '\''cd "$GIT_PREFIX"'\'' "$LOCAL" "$REMOTE"'

的報價是棘手的。我會複製粘貼它。

+0

這可能有些錯誤,直接在你的vimrc文件中添加「set noreadonly」。 – liuyang1

+0

@Procras:我不小心想到你一個字。 – bukzor

+0

@alexis你仍然錯過了最後一句話的雙引號。請添加它以使複製/粘貼安全以供更多用戶使用 – ZuBB

0

[DIFF] 工具= Vimdiff可以-R

+0

這告訴vim以只讀模式啓動。 – klokop

相關問題