a volte il mio file si blocca nel mio vi | vim, cosa è successo?


298

A volte quando modifico il mio file usando vi o vim, il mio file si blocca. Anche se scrivo Ctrl+Co Ctrl+D, si blocca ancora lì. Io kill -9 <pid>da un altro terminale, il pid viene ucciso, ma il file si blocca ancora lì.

Immagino di aver digitato una combinazione di tasti che non conosco. Qualcuno ha un'idea?

Risposte:


605

Ctrl- Sè probabilmente il colpevole; interrompe l'output dello schermo nella maggior parte dei terminali. Come accennato da Michael, è possibile ripristinare lo schermo normale inserendo Ctrl- Q.

Teoricamente, l'impostazione stty -ixondovrebbe impedire Ctrl- Sdi congelare lo schermo, ma non funziona sul mio login Solaris 10 locale.


@CallMeNorm - questo succede anche con la scorciatoia <Ctrl-A> per schermo / tmux / etc perché ho le dita grasse. ;)
Cometsong,

Se, per qualsiasi motivo, hai rimappato globalmente ("inattivato") Ctrl-Q (ad esempio per evitare di uscire accidentalmente da Firefox), aggiungendo stty -ixonai tuoi ~/.bashrcabiliti Ctrl-q nei terminali. Nel mio caso, Ctrl-s stava congelando Vim e non potevo tornare indietro ... fino a quando non ho apportato quella modifica .bashrc. Dettagli qui: superuser.com/a/1328326/409327
Victoria Stuart

75

Ti capita di usarlo all'interno dello schermo GNU? (Come sottolinea pra, questo è apparentemente vero anche fuori dallo schermo) È abbastanza comune colpire accidentalmente Ctrl+S( xoff), che disabilita la pittura dello schermo fino a quando non premi Ctrl+Q( xon)


c'è qualche chiave che bloccherà il file se il mio vim è combinato con cscope?
user399517

1
succede (a volte) dopo aver digitato shift + insert, e vi mostra: modalità aperta.
user399517

1
Ctr-S non è specifico per lo schermo GNU.
pra

1

Se Ctrl+ Snon è il tuo problema (come nella risposta di pra ), questo potrebbe aiutarti.

Se hai provato a installare un sacco di plugin personalizzati usando Vundle , a volte le cose vanno male. Puoi provare a rimuovere questi pacchetti manualmente e vedere se aiuta. Scopri dove sono stati scritti i plugin - nel mio caso erano tutti all'interno della .vim/bundledirectory perché avevo git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.viminstallato Vundle . Quindi una volta all'interno della .vimdirectory puoi cancellare l'intera cartella del bundle per rimuovere tutti i plugin e ricominciare eseguendo rm -rf bundle.

Spero che sia d'aiuto!


-11

Puoi provare a cambiare il layout della tastiera. Vi | vim interagisce solo con l'input inglese (-like?).

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.