Я много пользуюсь screen .  Одним из моих мотивов является обещание, что мои сеансы редактирования (например, экземпляр vim) переживут крах X.  Хотя сеанс screen действительно превышает X, я обнаружил, что после перезапуска X его нельзя использовать полностью. В частности, vim похоже, приобретает некоторые странные сбои, например, не удается правильно перерисовать экран; также я не могу увидеть текст, который выводится командой оболочки (например :!ls)
Я использую Ubuntu 10.04 для сборки пакета vim-gnome .  Это версия 7.2.330-1ubuntu3 .  Вероятно, важно, чтобы эту версию vim можно было запускать как приложение с графическим интерфейсом GNOME2 или как консольное приложение.  Даже при запуске из консоли он каким-то образом интегрируется с X, например, обеспечивая доступ к буферу обмена.
Есть ли какой-нибудь способ предотвратить возникновение этих проблем или выйти из этого состояния?
Список симптомов, отмеченных в случаях vim которые пережили крах X:
- Завершение табуляции не работает в командной строке: вместо него вставляется символ - ^IЭто происходит, например, при попытке ввести правильное имя файла, передаваемое в качестве аргумента- :tabedit.
- q:дает ответа.- :^Fкажется, работает, но был несколько странным запускать первые пару раз - казалось, что он останавливался без активности HD или CPU в течение нескольких секунд, прежде чем появился. В то же время я смог переместить курсор - с- j,- kи т.д. - в область, где позднее появилось окно буфера командной строки.- Обновление: при дальнейшей проверке кажется, что это только рисование окна командной строки, когда я пытаюсь переместить курсор за конец строки. - ^Cне работает, чтобы отменить из окна командной строки. Если я хочу выйти без выполнения команды, я должен нажать- [ENTER]в пустой строке.
- Команды командной строки, введенные в командной строке, т.е. не из окна буфера командной строки, не добавляются в историю командной строки. 
- команда - :lsи другие команды, которые обычно отображают многострочный вывод, не отображают вывод.- :echo "onefish"работает нормально, но результат команды не выводится- :echo "onefish\ntwofish".
- как упоминалось выше, вывод команд оболочки не отображается. Команды оболочки, которые используют проклятия (например - :!man ls) делай работу.
- Регистры буфера обмена X - @*и- @+недоступны: попытка, например, вставить через- "+pвыдает ошибку- E353: Nothing in register +. Я бы ожидал, что эта конкретная проблема будет присутствовать, и подозреваю, что она может быть не связана с другими проблемами. В любом случае было бы здорово найти решение для этого.
Мой текущий обходной путь - сделать :mksession а затем выйти из vim и перезапустить его с этим сеансом.  Это будет немного хлопотно, так как у меня работает около 10 экземпляров vim , многие с некоторыми полезными безымянными буферами, переменными vimscript и другими объектами, которые не сохраняются в сеансах.
Я попробовал предложение @ {griff steni.us}, но ни один :redraw! ни ^L I кажется, не имеет никакого полезного эффекта.  ^L I Я заставил дисплей мигать.
