2009-10-28 14 views
30

Mi piacerebbe eseguire vimdiff su MacVim. C'è un modo semplice in cui sarei in grado di farlo?vimdiff e MacVim

risposta

51
  • Dal terminal

Se avete lo script mvim installato (è nel dmg, appena messo da qualche parte nel vostro PATH), si può semplicemente digitare in un guscio:

 
mvim -d file1 file2 

Puoi farlo al mvimdiff se lo desideri.

  • Dall'interno MacVim

In MacVim, come in vim, è anche possibile utilizzare:

 
:e file1 
:diffsplit file2 
or 
:vert diffsplit file2 

La seconda opzione offre un diff verticale, che di solito è più leggibile

+0

Aha! Grazie per il consiglio in-vim. Sembra che ci sia sempre qualcosa di nuovo da imparare in vim: D – Antonio

+0

Sei il benvenuto! : aiuto diff è tuo amico. – LeMiz

+0

È possibile diffare un altro buffer invece di un file? –

10

Se si simula gvimdiff a mvim allora mvim inizierà con -d ecc. Vim e Mvim guardano entrambi con quale nome eseguibile sono stati avviati per determinare come si comportano . Che come gvim e vim possono essere entrambi lo stesso eseguibile su linux ed è lo stesso su OSX.

+0

Ottime informazioni da sapere. Grazie! – Antonio

+1

Questo non ha funzionato per me. Ho ricevuto questo errore: "Lo strumento diff gvimdiff non è disponibile come 'gvim'". –

+0

@Raffi - Un sacco può cambiare in 2 anni, è stato un buon consiglio al momento. – Benj

8

Ok. Ho gentilmente risposto al mio commento:

Per diff due buffer aperti in vim, aprirli verticalmente e selezionare il primo e digitare :diffthis quindi il secondo e digitare :diffthis di nuovo.

Questo funziona per più di due buffer troppo =)

+0

Questo è un bel consiglio. Grazie :) – Manish

1

questo ha funzionato per me su mac. Sto usando lo snapshot MacVim 72:

/Applications/MacVim.app/Contents/MacOS/Vim -d -g path_to_file1 path_to_file2 

Funziona esattamente come gvimdiff su Windows.

Aggiornamento: Funziona anche con 3 file. Questo comando dividerà lo schermo in tre modi e ti consentirà di eseguire una conversione a 3 vie in macvim:

/Applications/MacVim.app/Contents/MacOS/Vim -d -g path_to_file1 path_to_file2 path_to_file3