O Vim reclama de um arquivo temporário ao abrir arquivos destacados de sintaxe no Mac OS X


8

Quando tento abrir um arquivo (por exemplo, test / test_sequence.rb) usando o Vim ou o MacVim, recebo o seguinte erro:

"test/test_sequence.rb" 109L, 3697C
Vim(let):E484: Can't open file /var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0

Isso parece restrito apenas aos arquivos que possuem algum tipo de destaque de sintaxe. Ainda posso editar o arquivo, mas tenho que usar: w! para escrever as alterações na primeira vez. Estou usando o vim no Mac OS X. Tentei bastante pesquisar esse erro sem sorte e isso se tornou realmente frustrante. Alguém poderia oferecer uma correção para isso?

EDIT: Eu não recebo esse erro ao editar arquivos LaTeX destacados na sintaxe, mas faço com arquivos Ruby destacados na sintaxe.

Respostas:


6

Acontece que o problema estava com o shell. O Vim estava tentando usar / bin / screen como shell

set shell /bin/sh

No meu vimrc corrigiu o problema.


3
Apenas apertei isso quando mudei meu shell de login para casca de peixe. Obrigado pela dica :)
Yeraze

Mesmo aqui, depois de shell configuração padrão para pescar aconteceu-me :)
imslavko

3
Bem, ele teve de acrescentar: set shell=/bin/bash.
paldepind

para mim a sintaxe tinha que serset shell=/bin/sh
Ganesh Hegde

Mas a coisa toda parece tipo de arquivo = específico do ruby ​​para mim.
ThomasH

1

Eu descobri que, se você suutiliza um usuário diferente, os processos que tentam usar arquivos temporários podem produzir um erro como /var/folders/zO/zOCN9kiiGD4keWX3TWYEh++++TI/-Tmp-/vzTkbXD/0: permission denied; a correção para isso é unset TMPDIR(que, creio, faz /tmpcom que seja usada), porque o TMPDIR especificado é específico para o usuário antigo e não pode ser gravado pelo usuário atual.

Você não disse se está usando suou se está trocando de usuário e a mensagem de erro não menciona permissão negada, mas ...


Obrigado pela sugestão. Tentei alterar o local de $ TMPDIR para / tmp. Em vez disso, recebo um erro apontando para / tmp / vzTkbXD / 0 agora.
Michael Barton

11
Tente em unset TMPDIRvez disso. E qual é o erro? Se a mensagem realmente não a mostrar, execute sudo fs_usage MacVim(observe que o processo nomeado já deve estar em execução ) e observe qual é o erro na sua chamada open ().
Kevin Reid

Obrigado por suas sugestões contínuas para tentar resolver isso para mim, é realmente apreciado. Tentei desmarcar $ TMPDIR, mas isso também não resolve o erro. Infelizmente, não estou familiarizado com o comando fs_usage e não pude produzir um número de erro para o processo aberto na saída fs_usage. Eu colei a saída completa de fs_usage aqui, se isso for de alguma utilidade - cl.ly/5c01de97b2276a73b569
Michael Barton

0

O Vim está tentando abrir um arquivo de permuta, você tentou reparar permissões?


11
Obrigado pela sugestão. Acabei de executar as permissões de reparo do utilitário de disco duas vezes, mas ainda estou vendo o mesmo problema.
Michael Barton
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.