parfois mon fichier se fige dans mon vi | vim, que s'est-il passé?

298

Parfois, lorsque je modifie mon fichier à l'aide de vi ou vim, mon fichier se bloque simplement. Même si je tape Ctrl+Cou Ctrl+D, il y gèle toujours. Depuis kill -9 <pid>un autre terminal, le pid est tué, mais le fichier y reste figé.

Je suppose que je dois avoir tapé une combinaison de touches que je ne connais pas. Est-ce que quelqu'un a une idée?

user399517
la source

Réponses:

605

Ctrl- Sest probablement le coupable; il arrête la sortie de votre écran dans la plupart des terminaux. Comme Michael l'a mentionné, vous pouvez restaurer votre écran à la normale en entrant Ctrl- Q.

Théoriquement, le réglage stty -ixondevrait empêcher Ctrl- Sde geler votre écran, mais cela ne fonctionne pas sur ma connexion Solaris 10 locale.

pra
la source
@CallMeNorm - cela se produit également avec le raccourci ignoble <Ctrl-A> pour screen / tmux / etc parce que j'ai de gros doigts. ;)
Cometsong
Si, pour une raison quelconque - vous avez remappé globalement ("inactivé") Ctrl-Q (par exemple pour éviter de quitter accidentellement Firefox), l'ajout stty -ixonde votre ~/.bashrcpermet d'activer Ctrl-q dans les terminaux. Dans mon cas, Ctrl-s gelait Vim et je ne pouvais pas y revenir ... jusqu'à ce que j'aie fait cette modification .bashrc. Détails ici: superuser.com/a/1328326/409327
Victoria Stuart
75

L'utilisez-vous à l'intérieur de GNU Screen? (Comme le fait remarquer pra, cela est apparemment vrai même en dehors de l'écran) Il est assez courant de frapper accidentellement Ctrl+S( xoff), ce qui désactive la peinture d'écran jusqu'à ce que vous frappiez Ctrl+Q( xon)

Michael Mrozek
la source
y a-t-il une clé qui gèrera le fichier si mon vim est combiné avec cscope?
user399517
1
cela arrive (parfois) après avoir tapé shift + insert, et vi montre: mode ouvert.
user399517
1
Ctr-S n'est pas spécifique à l'écran GNU.
pra
1

Si Ctrl+ Sn'est pas votre problème (comme dans la réponse de pra ), cela peut vous aider.

Si vous avez essayé d'installer un tas de plugins personnalisés en utilisant Vundle , parfois les choses tournent mal. Vous pouvez essayer de supprimer ces packages manuellement et voir si cela aide. Découvrez où les plugins ont été écrits - dans mon cas, ils étaient tous dans le .vim/bundlerépertoire parce que j'avais l'habitude git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vimd'installer Vundle . Donc, une fois dans le .vimrépertoire, vous pouvez effacer tout le dossier du bundle pour supprimer tous les plugins et recommencer en exécutant rm -rf bundle.

J'espère que ça aide!

bibzzzz
la source
-11

Vous pouvez essayer de modifier la disposition du clavier. Vi | vim interagit uniquement avec l'entrée en anglais (-like?).

Splat
la source