O console Unix se torna inativo após fechar o vim

1
user@laptop:~$ locate file.ext | xargs vim -p
Vim: Warning: Input is not from a terminal
2 files to edit
user@laptop:~$ 

Depois de encontrar os arquivos e modificá-los no vim, quero salvá-los e continuar a trabalhar no console do UNIX, mas não posso fazer isso.

Após o console próximo ao vim, ele simplesmente pára. Nenhuma atividade em qualquer tecla pressionada. A única solução é fechar a guia do console e criar uma nova. Como posso resolver este problema?

    
por user51940 18.06.2010 / 11:56

3 respostas

5

tente executar de maneira diferente:

vim -p 'locate file.ext'

ou você pode tentar executar o comando reset após sua sessão vim, para redefinir as opções do terminal para os padrões:

locate file.ext | xargs vim -p; reset
    
por 18.06.2010 / 11:59
1

Isto é o que eu faço, depois de sair do vim de um comando canalizado no Cygwin.

stty sane {enter}

Claro, você não verá isso digitando, mas depois de digitar, o tty voltará à vida. É uma dor, mas funciona.

Eu não gosto da outra solução aqui porque muitas vezes eu estou executando uma pesquisa muito mais complexa do que uma pesquisa de arquivos. Eu poderia fazer algo assim:

egrep -ri [pattern] * | sed -e 's:\:.*::g' | grep -v ^Binary | sort | uniq | xargs vim

No meu trabalho (base de código de 10 anos em movimento rápido), esse tipo de busca é tão comum que eu tenho os primeiros cinco comandos em um único script de shell que canudo para o vim.

    
por 23.06.2010 / 20:16
0
Vim: Warning: Input is not from a terminal

Um pipe não é um terminal, mas você já tentou fg ?

    
por 18.06.2010 / 11:59