Qual é a diferença entre o MacVim e o Vim regular?

216

Eu sou razoavelmente novo no OS X, mas estou familiarizado com o Vim de usá-lo em vários sistemas * nix. Eu já vi muitas pessoas recomendando executar o MacVim sobre o Vim no terminal. Alguém pode me dizer que diferenças existem entre o MacVim e o Vim normal?

Mark Costello
fonte
2
Provavelmente tem a ver com mac keybindings amigáveis (ctrl vs teclas de comando)
ldog

Respostas:

214

MacVim é apenas Vim. Qualquer coisa que você esteja acostumado a fazer no Vim funcionará exatamente da mesma maneira no MacVim.

O MacVim é mais integrado em todo o sistema operacional do que o Vim no terminal ou mesmo o GVim no Linux, segue muitas convenções do Mac OS X.

Se você trabalha principalmente com aplicativos GUI ( YummyFTP + GitX + Charles , por exemplo), pode preferir o MacVim.

Se você trabalha principalmente com aplicativos CLI (ssh + svn + tcpdump, por exemplo), pode preferir o vim no terminal.

Entrar e sair de um território (CLI) para o outro (GUI) e vice-versa pode ser "caro".

Eu uso o MacVim e o Vim, dependendo da tarefa e do contexto: se eu estiver na CLI-land, apenas digito vim filenamee se estiver na GUI-land, invocarei o Quicksilver e lançarei o MacVim.

Quando mudei do TextMate, gostei do fato de o MacVim suportar quase todos os atalhos regulares que os usuários de Mac estão acostumados. Eu adicionei um pouco, imitando o TextMate, mas, como eu estava trabalhando em vários ambientes, forcei-me a aprender o caminho do vim. Agora eu uso o MacVim e o Vim quase exatamente da mesma maneira. Usar um ou outro é apenas uma questão de contexto para mim.

Além disso, como El Isra disse, o vim padrão (CLI) no OS X está um pouco desatualizado. Você pode instalar uma versão atualizada via MacPorts ou instalar o MacVim e adicionar um alias ao seu .profile:

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

para ter o mesmo vim no MacVim e no Terminal.app.

Outra diferença é que muitos ótimos esquemas de cores por aí funcionam imediatamente no MacVim, mas parecem terríveis no Terminal.app, que suporta apenas 8 cores (+ destaques), mas você pode usar o iTerm - que pode ser configurado para suportar 256 cores - do terminal.

Então ... basicamente, meu conselho é usar apenas os dois.

EDIT: Eu não tentei, mas a versão mais recente do Terminal.app (na versão 10.7) deve suportar 256 cores. Ainda estou no 10.6.x no trabalho, por isso ainda vou usar o iTerm2 por um tempo.

EDIT: Uma maneira ainda melhor de usar a CLI do MacVim executável em seu shell é mover o mvimscript fornecido com o MacVim para algum lugar do seu $PATHe use este comando:

$ mvim -v

EDIT: Sim, o Terminal.app agora suporta 256 cores. Portanto, se você não precisar dos recursos avançados do iTerm2, poderá usar com segurança o emulador de terminal padrão.

romainl
fonte
82
O Homebrew é um gerenciador de pacotes indolor versus macports, uma vez que o homebrew é instalado de forma simples brew install macvime você está pronto. mxcl.github.com/homebrew
Greg K
3
+1 para homebrew. Eu tive muito mais sorte com cerveja do que com macports. Embora o macports ainda tenha mais pacotes do que o homebrew.
Chev
2
@Greg como é o macports mais difícil # sudo port install macvim
pellucide
1
@pellucide Claro, instalar um pacote não é mais doloroso. Mas o IMHO, gerenciamento de dependências e pacotes padrão do SO versus pacotes instalados, é muito mais fácil no Homebrew. Além disso, sudonunca é necessário em homebrew.
Roy Tinker
12

O único motivo pelo qual fiz valer a pena mudar para o MacVim: o Yank usa a área de transferência do sistema.

Finalmente, posso copiar e colar entre o MacVim no meu terminal e o restante dos meus aplicativos.

Janac Meena
fonte
13
Você também pode usar o *registro no terminal VIM para puxar a área de transferência do sistema. Qual IMO é melhor porque eu pessoalmente nem sempre quero sincronizar com a área de transferência do sistema. Portanto, no VIM, ao puxar uma linha, por exemplo, use "*yypara copiar para a área de transferência.
Luke Davis
1
vim.wikia.com/wiki/Accessing_the_system_clipboard - tudo que você tem a fazer é adicionar uma linha ao seu .vimrc para que isso seja padrão bem
Jim Deville
1
Se você quiser puxão a prancheta no vim de terminal basta adicionar um +, por exemplo, se você gostaria de copiar todo o conteúdo a prancheta:%y+
smallwat3r
3

infelizmente, com "mvim -v", o ALT mais as janelas de seta ainda não funcionam. Não encontrei nenhuma maneira de habilitá-lo :-(

Daniel Pinyol
fonte
Obrigado pelo mvimcomando, instalei o MacVim via HomeBrew, mas não sabia que havia um comando com link simbólico padrão. Obrigado!
Roy Tinker
1

É tudo sobre as combinações de teclas que você pode obter com as configurações de .vimrc. No que diz respeito à área de transferência, você pode usar :set clipboard unnamede o puxão do vim irá para a área de transferência do sistema. De qualquer forma, o que você acabar usando, sugiro usar esta configuração do vimrc , ela contém muitos plugins e ligações que facilitarão sua experiência.

Manish Baghel
fonte