восстановление с X эффектов катастрофического отказа на экземпляры 'энергии', работающие под 'экраном'

Я использовал screen много. Одна из моих мотиваций является обещанием что мои сессии редактирования (например, a vim экземпляр), переживет X катастрофических отказов. Хотя screen сессия действительно переживает X, я нахожу, что это не совсем применимо после того, как X перезапустил. vim в особенности, кажется, получает некоторые странные незначительные сбои, как отказ перерисовать экран правильно; также я не могу видеть текст, который производится командой оболочки (например, :!ls).

Я использую сборку человечности 10.04 vim-gnome пакет. Это - версия 7.2.330-1ubuntu3. Вероятно, важно что эта версия vim может быть выполнен или как приложение GNOME2 GUI или как консольное приложение. Даже когда выполнено от консоли это интегрируется в некотором роде с X, например, обеспечивая доступ к буферу обмена.

Там некоторый путь состоит в том, чтобы препятствовать тому, чтобы эти проблемы произошли или восстановились с этого состояния?

Список признаков, известных в vim экземпляры, которые пережили X катастрофических отказов:

  • заполнение клавишей Tab не работает над командной строкой: a ^I символ вставляется вместо этого. Это происходит, например, при попытке завершить имя правильного файла, передаваемое как аргумент :tabedit.

  • q: не дает ответа. :^F кажется, работает, но был немного странный запуск эти первые два раза — это, казалось, приостанавливалось без HD или активности ЦП в течение нескольких секунд перед подъемом. Тем временем я смог переместить курсор — с j, k, и т.д. — в области, где буферное окно командной строки позже появилось бы.

    обновление: После дальнейшего контроля кажется, что это только тянет окно командной строки, когда я пытаюсь переместить курсор мимо конца строки.

    ^C не работает для отмены из окна командной строки. Если я хочу уехать, не выполняя команду, я должен совершить нападки [ENTER] на пустой строке.

  • команды командной строки ввели в командную строку, т.е. не из буферного окна командной строки, не добавляются к истории командной строки.

  • :ls команда и другие команды, которые обычно отображают многострочный вывод, не отображают вывод. EG :echo "onefish" работы обычно, но никакой вывод отображен в результате команды :echo "onefish\ntwofish".

  • как упомянуто выше, произведите от команд оболочки, не появляется. Команды Shell, которые используют проклятия (например, :!man ls) действительно работать.

  • X регистров буфера обмена @* и @+ недоступны: попытка к, например, вставляет через "+p дает ошибку E353: Nothing in register +. Я отсортировал бы, ожидают, что эта конкретная проблема будет присутствовать, и подозревать, что это может быть не связано с другими проблемами. В любом случае было бы замечательно найти решение для него.

Мое текущее обходное решение должно сделать a :mksession и затем выход vim и перезапустите его с той сессией. Это будет своего рода стычкой, так как у меня есть приблизительно 10 vim выполнение экземпляров, многие с некоторыми полезными буферами без имени, vimscript переменные и другие объекты, которые не сохраняются к сессиям.

Я попробовал {griff steni.us предложение}, но ни один :redraw! ни ^L I кажется, имеет любое полезное действие. ^L I действительно заставлял дисплей мигнуть.

1
задан 25.07.2010, 22:25

1 ответ

Я просто беру предположение, но возможно экранный экземпляр был больше, чем Ваш терминальный размер теперь, т.е. не 80x24 символы.

в энергии можно сделать: перерисовка!

и на экране можно попробовать, вновь отображают ^L l

0
ответ дан 24.11.2019, 01:47

Теги

Похожие вопросы