Eu sei que isso pode ser mais apropriado em Ask Different, mas como tentei adicionar tags lá, não havia vim
tag, apenas macvim
. Então achei que poderia conseguir um público melhor aqui.
No Terminal, eu faço o seguinte
$ vim --version
VIM - Vi IMproved 7.2 (2008 Aug 9, compiled Jan 31 2010 13:33:49)
Quando navego para http://www.vim.org , vejo uma notícia
Vim 7.3 lançado!
Como faço para atualizar meu vim integrado? Eu gostaria muito de fazer isso de forma limpa (ou seja, sem instalações duplicadas ou quaisquer downloads adicionais, sem macports, etc.)
Considerei usar o Mercurial (como já o uso para outras coisas), conforme as instruções aqui .
$ hg clone https://vim.googlecode.com.hg/ vim
$ cd vim/src
$ make
Mas acho que seria uma instalação duplicada. Apesar do meu requisito "limpo" como mencionado acima, soluções "impuras" também são bem-vindas, já que talvez não haja realmente nenhuma outra maneira.
/usr/local/
. Não que vá ocupar muito espaço.Respostas:
Não sobrescreva o Vim embutido.
Em vez disso, instale-o do código-fonte em um local diferente ou via Homebrew ou MacPorts em seu local padrão e adicione esta linha ao seu .bashrc ou .profile:
e / ou mude o seu
$PATH
para que olhe em seu local antes do local padrão.A melhor coisa a fazer, na minha opinião, é simplesmente baixar o MacVim mais recente que vem com um executável vim muito completo e usá-lo no Terminal.app assim.
fonte
/Applications/MacVim.app/Contents/MacOS/Vim
alias vim='mvim -v'
. Mas ambos falham com osudo vim
uso da versão antiga. Eu sugeriria usar a resposta de @RobertMartin ou um gerenciador de pacotes. Há também uma outra opção: esta resposta do Slizzered em serverfault.com, que permite que você passe apelidos parasudo
.git difftool
ougit commit
.Se eu entendi as coisas corretamente, você deseja instalar sobre o seu Vim existente, para melhor ou para pior :-) Esta é uma má ideia e não é a maneira "limpa" de fazer isso. Por quê? Bem, o OS X espera que nada mude em / usr / bin sem o conhecimento dele, então sempre que você sobrescrever alguma coisa lá, você corre o risco de quebrar alguma interdependência intrincada. E, digamos que você quebre algo - não há como "desfazer" esse dano. Você ficará triste e sozinho. Você pode ter que reinstalar o OS X.
Parte 1: Uma ideia melhor
A maneira "limpa" é instalar em um local separado e tornar o novo binário de maior prioridade no $ PATH. Aqui está como eu recomendo fazer isso:
Voila! Agora, quando usarmos o vim, estaremos usando o novo. Mas, para voltar à nossa configuração antiga no caso de grandes f * ckups, podemos simplesmente excluir o diretório / opt.
Veja como isso é limpo.
Eu recomendo não instalar em / usr / local / bin quando você deseja substituir binários em / usr / bin, porque por padrão o OS X coloca / usr / bin em maior prioridade em $ PATH do que em / usr / local / bin, e ferrando com que abre sua própria lata de minhocas ... Então, é isso que você DEVE fazer.
Parte 2: A resposta "correta" (mas uma má ideia)
Supondo que você esteja determinado a fazer isso, você está definitivamente no caminho certo. Para instalar em cima de sua instalação atual, você precisa definir o diretório "prefixo". Isso é feito assim:
Você pode passar "configurar" algumas outras opções também, se desejar. Faça "./configure --help" para vê-los. Espero que você tenha um backup antes de fazer isso, no entanto, caso algo dê errado ....
fonte
~
, ou seja, seu diretório pessoal, é completamente arbitrário. Fique à vontade para baixá-lo para onde quiser. Depois de instalado, você pode excluir o diretório também (a fonte não é mais necessária nesse ponto)../configure --prefix /opt/local --enable-perlinterp=yes --enable-pythoninterp=yes --enable-rubyinterp=yes --with-features=huge --with-python-config-dir=/System/Library/Frameworks/Python.framework/Versions/2.7
Como Eric, usei homebrew, mas usei a receita padrão. Assim:
E depois de reiniciar o vim do homebrew do terminal deve ser o padrão. Se não, você deve atualizar seu
$PATH
para que/usr/local/bin
seja antes/usr/bin
. Por exemplo, adicione o seguinte ao seu.profile
:fonte
brew update
realmente me devolveu uma fórmula para vim.vi
links simbólicos:[sudo] ln -sf /usr/local/bin/vim /usr/bin/vi
vi
link simbólico a/usr/local/bin
:ln -s /usr/local/bin/vim /usr/local/bin/vi
Uma nota para a resposta de romainl: aliases não funcionam junto com sudo porque apenas a primeira palavra é verificada nos aliases. Para alterar isso, adicione outro alias ao seu .profile / .bashrc:
alias sudo='sudo '
Com essa mudança
sudo vim
vai se comportar conforme o esperado!fonte
No Yosemite, instale o vim usando
brew
e aoverride-system-vi
opção. Isso irá instalar automaticamente o vim com os recursos de instalação 'enorme' do vim .A saída deste comando mostrará onde o brew instalou o vim. Nessa pasta, vá até
/bin/vim
para realmente executar o vim. Este é o seu comando para executar o vim de qualquer pasta:Em seguida, crie um alias para esse comando adicionando a seguinte linha em seu .bashrc:
EDIT: O sinalizador de cerveja
--override-system-vi
foi descontinuado. Alterado para--with-override-system-vi
. Fonte: https://github.com/Shougo/neocomplete.vim/issues/401fonte
--override-system-vi
está obsoleto. Use--with-override-system-vi
insted.brew install vim --override-system-vi
fonte
Esta postagem do blog foi útil para mim. Usei a solução "Homebrew construído Vim", que no meu caso salvou a nova versão em / usr / local / bin. Nesse ponto, a postagem sugeria ocultar o vim do sistema, o que não funcionou para mim, então usei um alias.
fonte
vim
parecia abrir o novo vim (depois de abrir um novo Terminal)Acabei de instalar o vim por:
agora o novo vim é acessado por
vim
e o antigo vim (vim integrado) porvi
fonte