50

この一般的な IDE 機能が利用できるかどうか疑問に思っていました。

と を使用して、Vim を使用して多くのファイルを開くvsplitとしsplitます。次に、すべてを閉じます。

翌日、それらのファイルを復元したいと考えています。つまり、開いたときの方法で回復し、それぞれを ( および を使用splitしてvsplit) 再度開く必要はありません。

それは可能ですか?

アップデート:

mksession!およびコマンドを使用して、sourceコマンドを.vimrcファイルにマッピングします。特定のファイルを書き込むためにマッピングをパラメータ化する方法はありますか?

例えば:

map <F2> :mksession! ~/vim_session @INSERT_HERE<cr> "Save session to @INSERTHERE file

前もって感謝します

4

9 に答える 9

106

:mksession と :source を使用して一連のキーにマップし、保存と復元を簡単に行うことができます。F2 と F3 を使用する .vimrc の例を次に示します。

map <F2> :mksession! ~/vim_session <cr> " Quick write session with F2
map <F3> :source ~/vim_session <cr>     " And load session with F3
于 2009-09-13T01:07:35.917 に答える
11

:mksessionコマンドを見て、次を作成しsessionます。

セッションは、すべてのウィンドウのビューとグローバル設定を保持します。セッションを保存すると、後で復元したときにウィンドウ レイアウトが同じに見えます。セッションを使用すると、異なるプロジェクトをすばやく切り替えて、そのプロジェクトで最後に作業していたファイルを自動的にロードできます。

于 2009-09-13T01:04:16.143 に答える
4

私が見つけた最善の方法は、vim-session プラグインhttp://github.com/xolox/vim-sessionを使用することです。これは、以下を追加してインストールできます。

Plugin 'xolox/vim-session'

あなたの .vimrc に、続いて:

:PluginInstall

このプラグインは複数のセッションをサポートしています。セッションを名前で識別し、その名前で管理します。セッションの追加、削除、更新、一覧表示などを行うことができます。

数か月間使用しています。強くお勧めします。

于 2016-07-28T16:26:14.347 に答える
2

GNU Screenの使用を検討できます。つまり、ユーザーが単一のターミナル セッション内で複数の個別のターミナル セッションにアクセスできるようにするコマンド ライン ウィンドウ マネージャーです。私にとっての主な利点は、セッションを切り離して端末ウィンドウを閉じ、後でセッションを再接続して作業を続行できることです。

于 2009-09-17T20:46:21.100 に答える
1

SessionMan http://www.vim.org/scripts/script.php?script_id=2010 はより簡単な機能を提供します。miniBufExplorer には注意してください。vim_use で andrew によって作成された修正版を使用しない限り、互換性はありません (それでも、半分しか互換性がありません)。

于 2010-07-28T04:32:21.267 に答える
1

私の解決策は以下のとおりです.vimrcファイルに入れます。HTH。

" session related.
" Default session is located `~/.session_'. The suffix `_' is a dirty
" solution, just like the one-element tuple `(tuple_eliment,)' in Python..
cnoremap <C-O> source ~/.session_
cnoremap <C-S> mksession! ~/.session_
nnoremap <silent> <C-S><C-S> :mksession! ~/.session_ <CR>

より複雑に見えますが、保存およびロードするセッションが複数ある場合は非常に便利です。

PS
ここでは、おなじみ<Ctrl-S><Ctrl-O>ショートカットを採用して、セッションの保存と読み込みを行います。<Fn>私見、これはキーに手を伸ばすよりも快適です。;-)

于 2011-01-16T14:18:01.280 に答える
1

あなたはこの本に興味があるかもしれません:

http://www.swaroopch.com/notes/Vim#Download

これは、Vim がいかに優れているかを示す最初の例の 1 つです。;)

また、<cr>キャリッジ リターンの略です。

于 2009-09-13T03:33:40.253 に答える
0

vim-obsession の使用をお勧めします。mksessionそれはあなたが望むことをしながらあなたの外にとどまるので、デフォルトよりもはるかに優れています.

于 2014-01-14T18:57:34.917 に答える