іноді мій файл просто застигає у моєму ві | vim, що трапилось?


298

Іноді, коли я редагую свій файл за допомогою vi або vim, мій файл просто заморожується. Навіть якщо я набираю Ctrl+Cабо Ctrl+D, він все одно замерзає. Я kill -9 <pid>з іншого терміналу, під вбивається, але файл там все одно замерзає.

Напевно, я повинен був набрати якусь комбінацію клавіш, яку я не знаю. Хтось має ідею?

Відповіді:


605

Ctrl- Sмабуть, винуватець; він зупиняє ваш вихідний екран на більшості терміналів. Як згадував Майкл, ви можете відновити екран у звичайному режимі, ввівши Ctrl- Q.

Теоретично, установка stty -ixonповинна запобігти Ctrl- Sвід заморожування екрану, але він не працює на моєму локальному Solaris 10 входу в систему .


@CallMeNorm - це також трапляється із зухвалим ярликом <Ctrl-A> для екрана / tmux / тощо, оскільки у мене жирні пальці. ;)
Cometsong

Якщо з будь-якої причини - ви глобально перезавантажили ("інактивовано") Ctrl-Q (наприклад, щоб уникнути випадкового виходу з Firefox), додавши stty -ixonдо свого включення ~/.bashrcCtrl-q у терміналах. У моєму випадку Ctrl-s заморожував Vim, і я не міг повернутися до нього, поки я не зробив цю модифікацію .bashrc. Деталі тут: superuser.com/a/1328326/409327
Вікторія Стюарт

75

Чи трапляється ви використовувати його в GNU Screen? (Як зазначає pra, це, мабуть, справедливо навіть поза екраном) Це досить часто випадкове потрапляння Ctrl+S( xoff), яке вимикає малювання екрана, поки ви не натиснете Ctrl+Q( xon)


чи є якийсь ключ, який заморозить файл, якщо мій vim поєднується з cscope?
user399517

1
це трапляється (іноді) після того, як я набираю shift + insert, і vi показує: відкритий режим.
user399517

1
Ctr-S не характерний для екрана GNU.
pra

1

Якщо Ctrl+ Sне ваша проблема (як у відповіді пра ), це може вам допомогти.

Якщо ви намагалися встановити купу користувальницьких плагінів за допомогою Vundle , іноді справи йдуть не так. Ви можете спробувати видалити ці пакунки вручну і побачити, чи це допомагає. Дізнайтеся, куди були написані плагіни - у моєму випадку вони були всередині .vim/bundleкаталогу, тому що я використовував git clone https://github.com/gmarik/Vundle.vim.git ~/.vim/bundle/Vundle.vimдля встановлення Vundle . Отож, потрапивши всередину .vimкаталогу, ви можете протерти всю папку пакета, щоб видалити всі плагіни, і почніть знову, виконавши rm -rf bundle.

Сподіваюся, це допомагає!


-11

Ви можете спробувати змінити розкладку клавіатури. Vi | vim взаємодіє лише з англійською мовою (-like?).

Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.