Estou usando o MacVim e quando não o inicio no Terminal ( mvim
), o $ PATH não inclui o que defini no meu .bash_profile. Parece apenas ter os valores padrão /usr/bin:/bin:/usr/sbin:/sbin
,.
Estou executando o OS X 10.5.8. Mesmo se eu pudesse configurá-lo manualmente no meu .vimrc, tudo estaria bem, embora eu prefira que ele saia do mesmo local que o Terminal. Eu tentei seguir o que um site sugeriu, adicionando let $PATH += /blah/foo:/bar/etc
sem sucesso.
Editar / Solução: Veja minha resposta abaixo. O MacVim tem uma opção para corrigir isso.
Respostas:
O MacVim parece estar recebendo o $ PATH de uma maneira que ignora os arquivos de pontos personalizados de um usuário comum.
Não sei dizer por que eles preferem fazer dessa maneira, mas parece ser verdade. Nas preferências (na guia Avançado), você pode optar por "Iniciar processos do Vim em um shell de login", mas isso apenas melhora um
$PATH
pouco para mim.O melhor que posso dizer, o MacVim usa
/usr/libexec/path_helper
- que, por sua vez, usa os itens encontrados (1) no/etc/paths
arquivo e (2) qualquer coisa adicional encontrada no/etc/paths.d/
diretório. Quaisquer alterações feitas no diretório inicial de um usuário (via.profile
ou similar) são ignoradas.Em poucas palavras, você obtém os padrões do OSX, além de todos os aplicativos aos quais se adicionam
/etc/paths.d
. (Por exemplo, o MacTex faz isso no meu sistema.) Portanto, se você deseja ajustar o caminho do MacVim, uma maneira seria adicionar um arquivo com itens a/etc/paths.d
. (Não editaria diretamente/etc/paths
desde então, você corre o risco de as alterações serem desfeitas pelas atualizações do sistema.)Obrigado por me informar isso. Vou arquivar um bug da lista de desejos no MacVim.
fonte
/etc/paths.d
, ele aparecerá na próxima vez que eu inicializar o MacVim. Que formato você está colocando aí? Deve ser um item por linha, acredito, com um diretório $ PATH em cada linha (por exemplo, / usr / texbin).BTW, a preferência "Iniciar processos do Vim em um shell de login" não está mais disponível no MacVim (pelo menos, não na v7.3). Vejo que iniciar o MacVim a partir do Finder pega o caminho errado, mas iniciá-lo a partir de um shell (como "mvim") obtém o caminho correto.
fonte
Não é proveniente de .bash_profile, mas você pode usá-lo em seu arquivo .vimrc:
Você precisa ter o:: ou não será uma variável PATH correta.
fonte
/usr/bin/vim
da Apple) e/opt/local/bin/vim
(do MacPorts), e isso parece desnecessário.O Vim no terminal já pega o $ PATH adequado conforme fornecido pelos meus arquivos de ponto.Não acredito que não vi isso antes. Ok, eu posso acreditar. De qualquer forma, o MacVim vem com uma opção que resolve isso. Em Preferências, basta marcar "Iniciar processos do Vim em um shell de login". É isso, funciona. Snazzy. Eu sou estúpido.
Opa
Eu acidentalmente escrevi essa resposta sem perceber que Telêmaco já havia me dado a resposta correta . Marcou o dele como a resposta.
fonte
Este artigo do Mac Dev Center pode ser de alguma utilidade.
fonte
Não tive problemas para adicionar um arquivo ao diretório paths.d. Eu adicionei um arquivo chamado mysql, cujo conteúdo era:
/ usr / local / mysql / bin [Voltar]
Em seguida, coloquei esse arquivo no diretório paths.d e alterei sua propriedade para root: wheel. Agora o diretório mysql é adicionado automaticamente à minha variável $ PATH.
Não investiguei completamente, mas possivelmente (a) incluindo o [RETURN] no final da linha e / ou (b) definindo a propriedade do arquivo como raiz, pode ser necessário.
fonte
O MacVim irá buscar
~/.zprofile
e/etc/profile
, assim, você poderá colocar suasPATH
configurações lá.Consulte https://github.com/b4winckler/macvim/wiki/Trou Troubleshooting#for-zsh- users e esta pergunta no Stack Overflow .
(Testado com o MacVim versão 7.3 (65)).
fonte
Encontrei isso hoje. O MacVim não possui mais a opção "login shell" e a edição de arquivos em todo o sistema para uma configuração específica do usuário é superficial.
Aqui está uma solução usando apenas as opções do vim (consulte
:help :!
e:help shell
).No seu
~/.vimrc
adicione as linhasIsso torna
bash
seu shell padrão no (Mac) Vim e adiciona o-l
sinalizador (shell de login) aos comandos chamados:!{cmd}
. Ao executar:shell
, o bash é iniciado como um "shell interativo que não é um shell de logon".Para fazer o
$PATH
trabalho, você precisa configurá-lo~/.bash_profile
para:!
e~/.bashrc
para:shell
. (VerINVOCATION
emman bash
)ATUALIZAÇÃO: Isso não era necessário no meu outro computador, portanto, provavelmente existe outra coisa que é a causa raiz.
fonte
$PATH
em.zprofile
e inclua o-l
sinalizador emset shell
ouset shellcmdflag
.Eu sei mais sobre unix do que sobre macs, portanto, os seguintes conselhos podem ou não funcionar. Tente colocar este arquivo .vimrc:
Isso pode ajudar, mas há uma pequena ressalva: o .bash_profile deve ser originado apenas uma vez. Pode conter alguns comandos não idempotentes (coisas que devem ser executadas apenas uma vez). Caso em questão:
Quanto mais é chamado, maior e mais redundante
$PATH
é. No entanto, se isso não for grande coisa, a recomendação no unix seria colocar o comando único~/.bashrc
e executar asource ~/.bashrc
partir do seu.vimrc
arquivo.fonte
:source .bash_profile
mas ele aparece com um erro "Não é um comando do editor" para todos os comandos no arquivo e o mesmo com .bashrc.Fiz uma pergunta muito semelhante no site do Vim StackExchange e postei uma resposta que funciona para mim!
fonte