我已經在 vim 中打開了許多文件,並且正在使用 ctags 編輯和跟踪程序流程,我不想在下次重新啟動時丟失所有這些信息,我無法讓我的系統保持幾週或幾個月的運行狀態。
有沒有辦法保存目前的終端狀態或/和 vim 堆疊狀態?
這是類似的問題
- 如何記住終端機中多個選項卡的會話? (類似 FF 會話管理器)我發現。但沒有答案
- 保存多個 gnome 終端佈局?這只保存目前工作目錄和選項卡數量
答案1
讀:help :mksession
。
:mksession /path/to/sessionfile
此命令編寫一個您可以稍後運行的腳本
:source /path/to/sessionfile
當您離開並使用 .vim 副檔名啟動 Vim 時,您可以自動執行這些命令autocmd
。讀Vim wiki 上的此頁面尋求想法。
保存終端會話是另一個問題。 tmux 和 screen 都允許您斷開/重新連接會話,但我承認我不知道它們是否可以在重新啟動後繼續存在。
編輯
這個答案解釋如何編寫 tmux 會話腳本並在以後恢復它。也許可以在螢幕上做一些類似的事情。
如果您不使用 tmux 或 screen,則可以使用終端模擬器的功能。
答案2
我必須解決同樣的問題 - 不幸的是,許多應用程式甚至沒有辦法以受控的方式保存其狀態,更不用說在系統關閉時終止了。
我目前的解決方案:
冬眠涵蓋了我所有筆記型電腦和桌上型電腦 99% 的情況。我通常可以關閉電腦電源,一切都會在開機時恢復 - 它在我的系統上通常比掛起到 RAM 穩定得多,因為它不依賴 BIOS 做正確的事情 (TM)。
休眠的唯一問題是它在啟動到不同核心時無法使用,儘管我不希望大多數人經常更新他們的核心...
腳本編寫:我沒有嘗試讓我的應用程式保存其狀態,而是選擇創建許多要啟動的腳本
gnome-terminal
,並screen
預設選擇適合我的初始選項卡/螢幕和相關程式。基本上,我幾乎消除了登入桌面後啟動標準終端、文件瀏覽器等 10 分鐘的麻煩。
考慮到大多數應用程式的狀態,特別是在控制台中,我不相信它能比這更好。任何更多的事情都必須根據每個應用程式的具體情況進行處理。例如,某些應用程式(例如 Eclipse)可以配置為定期儲存其狀態。