Qual è la differenza tra MacVim e Vim normale?


222

Sono abbastanza nuovo per OS X, ma ho familiarità con Vim per averlo utilizzato in vari sistemi * nix. Ho visto molte persone consigliare di eseguire MacVim su Vim nel terminale. Qualcuno può dirmi quali differenze ci sono tra MacVim e Vim normale?


2
Probabilmente ha a che fare con le associazioni di tasti compatibili con Mac (ctrl vs tasti di comando)
ldog

Risposte:


219

MacVim è solo Vim. Tutto ciò che sei abituato a fare in Vim funzionerà esattamente allo stesso modo in MacVim.

MacVim è più integrato nell'intero sistema operativo rispetto a Vim nel terminale o persino a GVim in Linux, segue molte delle convenzioni di Mac OS X.

Se lavori principalmente con app GUI ( YummyFTP + GitX + Charles , ad esempio) potresti preferire MacVim.

Se lavori principalmente con le app CLI (ssh + svn + tcpdump, ad esempio) potresti preferire vim nel terminale.

Entrare e lasciare un reame (CLI) per l'altro (GUI) e viceversa può essere "costoso".

Uso sia MacVim che Vim a seconda dell'attività e del contesto: se sono in CLI-land vim filenamedigiterò solo e se sono in GUI-land invocherò semplicemente Quicksilver e avvierò MacVim.

Quando sono passato da TextMate mi è piaciuto il fatto che MacVim supportasse quasi tutte le scorciatoie regolari a cui gli utenti Mac sono abituati. Ne ho aggiunti alcuni miei, imitando TextMate ma, dato che lavoravo in più ambienti, ho costretto me stesso ad imparare in modo vim. Ora uso sia MacVim che Vim quasi esattamente allo stesso modo. Usare l'uno o l'altro è solo una questione di contesto per me.

Inoltre, come ha detto El Isra, il vim predefinito (CLI) in OS X è leggermente obsoleto. Puoi installare una versione aggiornata tramite MacPorts oppure puoi installare MacVim e aggiungere un alias al tuo .profile:

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'

per avere lo stesso vim in MacVim e Terminal.app.

Un'altra differenza è che molti fantastici schemi di colori là fuori funzionano fuori dagli schemi in MacVim ma sembrano terribili nell'app Terminal.app che supporta solo 8 colori (+ evidenziazioni) ma puoi usare iTerm - che può essere impostato per supportare 256 colori - invece di Terminal.

Quindi ... fondamentalmente il mio consiglio è di usarli entrambi.

EDIT: non l'ho provato ma l'ultima versione di Terminal.app (in 10.7) dovrebbe supportare 256 colori. Sono ancora al lavoro su 10.6.x quindi userò ancora iTerm2 per un po '.

EDIT: Un modo ancora migliore per utilizzare l'eseguibile CLI di MacVim nella shell è spostare lo mvimscript in bundle con MacVim da qualche parte nel tuo $PATHe utilizzare questo comando:

$ mvim -v

EDIT: Sì, Terminal.app ora supporta 256 colori. Quindi, se non hai bisogno delle funzionalità avanzate di iTerm2, puoi tranquillamente utilizzare l'emulatore di terminale predefinito.


84
Homebrew è un gestore di pacchetti indolore vs macports, una volta che homebrew è installato semplicemente brew install macvime sei pronto. mxcl.github.com/homebrew
Greg K

3
+1 per homebrew. Ho avuto molta più fortuna con la birra che con i macport. Sebbene macports abbia ancora più pacchetti di homebrew.
Chev

2
@Greg com'è più difficile macports sudo port install macvim
pellucide

1
@pellucide Certo, installare un pacchetto non è più doloroso. Ma IMHO la gestione delle dipendenze e dei pacchetti predefiniti del sistema operativo rispetto ai pacchetti installati è molto più semplice in Homebrew. Inoltre, sudonon è mai richiesto in homebrew.
Roy Tinker

14

L'unico motivo per cui è valsa la pena passare a MacVim: Yank usa gli appunti di sistema.

Finalmente posso copiare e incollare tra MacVim sul mio terminale e il resto delle mie applicazioni.


17
È inoltre possibile utilizzare il *registro nel terminale VIM per trascinarlo negli appunti di sistema. Quale IMO è migliore perché personalmente non voglio sempre sincronizzarmi con gli appunti di sistema. Quindi in VIM, ad esempio, quando si strappa una riga, utilizzare "*yyper copiare negli appunti.
Luke Davis

1
vim.wikia.com/wiki/Accessing_the_system_clipboard - tutto ciò che devi fare è aggiungere una riga al tuo .vimrc affinché anche questo sia predefinito
Jim Deville

1
Se vuoi estrarre gli appunti nel terminale vim, aggiungi semplicemente un +, ad esempio se desideri copiare l'intero contenuto negli appunti:%y+
smallwat3r

3

sfortunatamente, con "mvim -v", le finestre ALT più freccia non funzionano ancora. Non ho trovato alcun modo per abilitarlo :-(


Grazie per il mvimcomando, ho installato MacVim tramite HomeBrew ma non sapevo che ci fosse un comando simbolico predefinito. Grazie!
Roy Tinker

1

Riguarda le associazioni di tasti che si possono ottenere semplicemente dalle configurazioni .vimrc. Per quanto riguarda gli appunti, puoi usare :set clipboard unnamede l'estratto da vim andrà negli appunti di sistema. Ad ogni modo, qualunque cosa tu finisca per usare, ti suggerisco di usare questa configurazione di vimrc , contiene un sacco di plugin e collegamenti che renderanno la tua esperienza fluida.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.