Vim設定の状態をドキュメントに保存する方法はありますか?
明確にするために:私はドキュメントを編集していて、一連の設定を変更します。私は必ずしもどちらかを思い出す必要はありません。現在のドキュメントを除いて、これらの設定を再度使用したくありません。自分が変更したことを手動で覚えようとは思わないでください。または私が変更した設定の魔法の略語は何ですか。たとえば、「mydoc.txt」の場合、中断したところに戻る「mydoc.vim」ファイルが必要です。設定ファイルは、vim設定に基づいて自動的に保存されます。終了する前にctrl-keyがそれを行います。 vimがそのようなファイルを自動的に検索できると便利です。
また、ドキュメント自体の設定を編集する必要がないことが望ましいでしょう。
Vimのセッションサポートを使用できます。
:mksession
後でこれをロードするには、vim -S Session.vim
を実行するか、source Session.vim
を使用します。
セッションのロード/保存を自動化するvimアドオンもあります
はい、vim設定をドキュメントに含めることができます。
それらはほとんどコメント内にあるので、元のファイルを台無しにすることはありません。タブ固有の設定の例は次のとおりです。
/* ex: set tabstop=8 expandtab: */
このコマンドはほとんどの場合に機能しますが、サーバーはセキュリティ上の理由からmodeline
をオンにせずにセットアップされることがよくあります。この機能をオンにするには、$ HOME/.vimrcまたはシステム$ VIM/vimrcに以下を追加します。
set modeline
現在の設定をすべてファイルに保存する方法は次のとおりです。
:redir > textfile.txt
:set all
:redir END
必要に応じて、そのファイルの名前を~/.vimrc
に変更してください。
たとえば、ファイルを特定のタイプとして保存できます。特別なファイル名の形式または拡張子を付け、.vimrcでそのファイルタイプの自動コマンドを定義します。
特定のファイルに必要なさまざまな設定があることを確認するために、メイクファイルに対してこれを行います。
たとえば、これが私の自動コマンドのdecです。
if has("autocmd")
autocmd BufRead,BufNewFile Makefile* :set noexpandtab
autocmd BufRead,BufNewFile mirror.conf :set noexpandtab
autocmd BufRead,BufNewFile *.html* :set shiftwidth=2
autocmd BufRead,BufNewFile diff_files :set autowrite
autocmd BufRead,BufNewFile lbnamed* :set ft=Perl
autocmd BufRead,BufNewFile *.t :set ft=Perl
endif