2013-08-31 10 views
11

Próbuję użyć vimdiff jako narzędzia diff dla Git, ale z jakiegoś powodu pliki są zawsze otwarte w trybie tylko do odczytu. Ma to sens dla oryginalnego pliku, ale nie dla tych, które zmodyfikowałem (ponieważ jeszcze ich nie zatwierdziłem).Jak zapobiec otwieraniu plików git vimdiff jako tylko do odczytu?

To jest mój obecny .gitconfig:

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

Każdy pomysł co może być przyczyną tego?

Odpowiedz

12

To domyślne pożądane zachowanie dla vimdiff. Możesz zresetować używając: set noro.

+0

Czy wiesz, czy jest jakiś sposób, aby skonfigurować Vimdiff tak, że ta opcja jest zawsze? –

+2

W swoim pliku vimrc, skonstruuj następującą linię: ustaw noro – Shunya

+0

@ Laurent, podczas gdy ja szedłem trochę pomocy na vim, znalazłem ten URL (może ci pomóc). Sprawdź dolną część strony z napisem "Zmień pliki do odczytu/tylko do odczytu/zapisu, gdy są edytowane". Adres URL: http://vim.wikia.com/wiki/Setting_file_attributes_without_reloading_a_buffer. Myślę, że to powinno być częścią twojego pliku konfiguracyjnego vimrc. Proszę zaktualizować, jeśli to działa dobrze .. – Shunya

10

deafult komenda git używa do vimdiff jest: (znaleźć listę procesów kontrolnych)

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

można zastąpić ten (nie używać -R, tryb tylko do odczytu), ustawiając zmienną difftool.vimdiff.cmd.

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

cytowanie jest trudne. Kopię i wklej go.

+0

to może jakiś błąd, bezpośrednio dodaj "set noreadonly" w swoim pliku vimrc. – liuyang1

+0

@Procras: Myślę, że przez przypadek słowo. – bukzor

+0

@alexis nadal brakowało początkowego podwójnego cytatu dla ostatniego słowa. proszę dodać go, aby skopiować/wkleić bezpieczne dla dalszych użytkowników – ZuBB

0

[edycja] narzędzia = vimdiff -R

+0

Ten informujący vim uruchamia się w trybie tylko do odczytu. – klokop