O redirecionamento de saída do comando para o vim não funciona no OS X

1

Estou tentando redirecionar a saída de um comando para o vim usando o argumento -, mas não parece funcionar no OS X. Por exemplo, se eu digitar

$ ls | vim - 

na linha de comando em uma das minhas máquinas Linux, a saída de ls é corretamente canalizada para o vim. Mas quando faço a mesma coisa em qualquer uma das máquinas do OS X, obtenho

$ ls | vim -
Vim: Reading from stdin...

E ele fica parado até que eu toque CTRL-D.

Alguma idéia de por que isso estaria acontecendo e como realmente redirecionar a saída de um comando para o vim?

Para referência, estou usando o OS X 10.6.4 (e 10.6.5) com o vim 7.2 (e 7.3) com o bash como meu shell.

    
por RTBarnard 20.11.2010 / 02:18

2 respostas

0

Eu esperaria uma mão como esta se fossem problemas com permissões. Esta página expande o Vi no OS X mais do que eu poderia. Em vez de apenas recortar e colar as respostas, pensei em apontar você para ver se isso ajuda.

link

Ele menciona que o forking não era padrão e que, para o fork, deve-se fornecer todo o caminho para o binário. Fazer um alias para todo o caminho, como vim='TERM=xterm-color vim' , faria o truque.

    
por 20.11.2010 / 03:36
1

Use a opção -f para o macvim. E a opção -R para sair sem ter que salvar.

ls | mvim -Rf -

Outro exemplo ... svn diff | mvim -Rf -

opção -f

-f  or  --nofork    Foreground: Don't fork when starting GUI

Opção -R

-R          Readonly mode (like "view")
    
por 01.06.2011 / 00:57