Как сохранить и восстановить несколько различных сессий в Vim?

Реализации могут отличаться, но существуют некоторые основные идеи, которые следуют из требований.

сам объект исключения является объектом, созданным в одной функции, уничтоженной в вызывающей стороне этого. Следовательно, обычно не выполнимо создать объект на стеке. С другой стороны, много объектов исключения не являются очень большими. Следовательно, можно создать, например, 32-байтовый буфер и переполнение к "куче", если больший объект исключения на самом деле необходим.

Что касается фактической передачи управления, две стратегии существуют. Нужно записать достаточно информации в самом стеке для раскручивания стека. Это - в основном список деструкторов для выполнения и обработчики исключений, которые могли бы поймать исключение. Когда исключение происходит, отбегите стек, выполняющий те деструкторы, пока Вы не находите выгоду соответствия.

вторая стратегия перемещает эту информацию в таблицы вне стека. Теперь, когда исключение происходит, стек вызовов используется для обнаружения, какие объемы введены, но не выходятся. Они затем ищутся в статических таблицах для определения, где вызванная исключительная ситуация будет обработана, и который деструкторы, выполненные промежуточный. Это означает, что существует меньше исключения наверху на стеке; обратные адреса необходимы так или иначе. Таблицы являются дополнительными данными, но компилятор может поместить их в загруженный спросом сегмент программы.

363
задан Ciro Santilli 新疆改造中心法轮功六四事件 24 March 2016 в 01:34
поделиться

2 ответа

Вам нужно что-то вроде

:mksession ~/mysession.vim

Затем вы можете позже получить этот файл vim, и у вас будет старый сеанс обратно:

:source ~/mysession.vim

или откройте vim с параметром -S:

$ vim -S ~/mysession.vim
487
ответ дан 23 November 2019 в 00:11
поделиться

Возможно, вы захотите установить эти параметры сеанса в вашем vimrc. Особенно раздражают параметры, когда вы изменили свой vimrc после сохранения сеанса.

set ssop-=options    " do not store global and local values in a session
set ssop-=folds      " do not store folds
59
ответ дан 23 November 2019 в 00:11
поделиться
Другие вопросы по тегам:

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