às vezes, meu arquivo congela no vi | vim, o que aconteceu?


298

Às vezes, quando edito meu arquivo usando vi ou vim, meu arquivo é congelado. Mesmo se eu digitar Ctrl+Cou Ctrl+D, ele ainda congela lá. Eu kill -9 <pid>de outro terminal, o pid é morto, mas o arquivo ainda congela lá.

Acho que devo ter digitado alguma combinação de chave que não conheço. Alguém tem uma ideia?

Respostas:


605

Ctrl- Sé provavelmente o culpado; para a saída da tela na maioria dos terminais. Como Michael mencionou, você pode restaurar sua tela ao normal digitando Ctrl- Q.

Teoricamente, a configuração stty -ixondeve impedir Ctrl- Sde congelar sua tela, mas não está funcionando no meu login local do Solaris 10.


@ CallMeNorm - isso também acontece com o atalho covarde <Ctrl-A> para screen / tmux / etc porque tenho dedos gordos. ;)
Cometsong

Se, por qualquer motivo - você remapear globalmente ("inativado") o Ctrl-Q (por exemplo, para evitar sair acidentalmente do Firefox), adicionando stty -ixonao seu ~/.bashrcCtrl-q ativado os terminais. No meu caso, o Ctrl-s estava congelando o Vim e não pude voltar a ele ... até que fiz a modificação .bashrc. Detalhes aqui: superuser.com/a/1328326/409327
Victoria Stuart

75

Você o usa dentro do GNU Screen? (Como pra ressalta, isso parece ser verdade mesmo fora da tela) É muito comum clicar acidentalmente em Ctrl+S( xoff), que desativa a pintura da tela até você pressionar Ctrl+Q( xon)


existe alguma chave que irá congelar o arquivo se meu vim for combinado com o cscope?
user399517

1
isso acontece (algumas vezes) depois que eu digito shift + insert e vi mostra: modo aberto.
user399517

1
Ctr-S não é específico para a tela GNU.
pra

1

Se Ctrl+ Snão for seu problema (como na resposta de pra ), isso poderá ajudá-lo.

Se você tentou instalar vários plugins personalizados usando o Vundle , às vezes as coisas dão errado. Você pode tentar remover esses pacotes manualmente e ver se isso ajuda. Descubra onde os plugins foram gravados - no meu caso, todos eles estavam dentro do .vim/bundlediretório porque eu costumava git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.viminstalar o Vundle . Portanto, uma vez dentro do .vimdiretório, você pode limpar toda a pasta do pacote para remover todos os plugins e começar de novo, executando rm -rf bundle.

Espero que ajude!


-11

Você pode tentar alterar o layout do teclado. O Vi | vim interage apenas com a entrada em inglês (-como?).

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.