Я открыл много файлов в vim, редактирую и отслеживаю ход выполнения программы с помощью ctags. Я не хочу потерять всю эту информацию при следующей перезагрузке, я не могу держать систему включенной несколько недель или месяцев.
Есть ли способ сохранить текущее состояние терминала или/и состояние стека vim?
Вот похожий вопрос
- Как запомнить сеанс нескольких вкладок в терминале? (Похоже на менеджер сеансов FF)Я нашел. Но нет ответа.
- Сохранить несколько макетов gnome-terminal?это сохраняет только текущий рабочий каталог и количество вкладок
решение1
Читать :help :mksession
.
:mksession /path/to/sessionfile
Эта команда записывает скрипт, который вы можете запустить позже с помощью
:source /path/to/sessionfile
Вы можете запускать эти команды автоматически, когда выходите из Vim и запускаете его с помощью autocmd
. Читатьэта страница на вики Vimдля идей.
Сохранение терминальной сессии — это другая проблема. И tmux, и screen позволяют отсоединять/переприсоединять сессии, но признаюсь, я не знаю, переживут ли они перезагрузку.
редактировать
Этот ответобъясняет, как написать скрипт для сеанса tmux и восстановить его позже. Что-то в этом роде, вероятно, можно сделать для screen.
Если вы не используете tmux или screen, вам остаются возможности эмулятора терминала.
решение2
Мне пришлось работать над той же проблемой — к сожалению, многие приложения даже не имеют возможности сохранять свое состояние контролируемым образом, не говоря уже о завершении работы при завершении работы системы.
Мое текущее решение:
Спячкаохватывает 99% случаев для всех моих ноутбуков и настольных компьютеров. Я могу, как правило, выключить компьютер, и все будет восстановлено при включении - это, как правило, гораздо более стабильно на моих системах, чем Suspend-to-RAM, поскольку не зависит от того, делает ли BIOS Right Thing (TM).
Единственная проблема с режимом гибернации заключается в том, что его нельзя использовать при загрузке другого ядра, хотя я бы не ожидал, что большинство людей будут обновлять ядро так уж часто...
Скриптинг: Вместо того, чтобы пытаться заставить свои приложения сохранять свое состояние, я решил создать несколько скриптов для запуска
gnome-terminal
сscreen
предустановленным выбором начальных вкладок/экранов и связанных с ними программ, которые мне подходят. По сути, я почти устранил 10-минутную возню с запуском моего стандартного набора терминалов, файловых браузеров и т. д. после входа в систему на рабочем столе.
Учитывая состояние большинства приложений, особенно в консоли, я не верю, что может быть что-то намного лучше этого. Все остальное должно рассматриваться в каждом конкретном случае для каждого приложения. Например, некоторые приложения, такие как Eclipse, можно настроить на периодическое сохранение своего состояния.