web-dev-qa-db-ja.com

ドキュメントでのvim設定の保存

Vim設定の状態をド​​キュメントに保存する方法はありますか?

明確にするために:私はドキュメントを編集していて、一連の設定を変更します。私は必ずしもどちらかを思い出す必要はありません。現在のドキュメントを除いて、これらの設定を再度使用したくありません。自分が変更したことを手動で覚えようとは思わないでください。または私が変更した設定の魔法の略語は何ですか。たとえば、「mydoc.txt」の場合、中断したところに戻る「mydoc.vim」ファイルが必要です。設定ファイルは、vim設定に基づいて自動的に保存されます。終了する前にctrl-keyがそれを行います。 vimがそのようなファイルを自動的に検索できると便利です。

また、ドキュメント自体の設定を編集する必要がないことが望ましいでしょう。

52
dkretz

Vimのセッションサポートを使用できます。

:mksession

後でこれをロードするには、vim -S Session.vimを実行するか、source Session.vimを使用します。

セッションのロード/保存を自動化するvimアドオンもあります

23
Hasturkun

はい、vim設定をドキュメントに含めることができます。

それらはほとんどコメント内にあるので、元のファイルを台無しにすることはありません。タブ固有の設定の例は次のとおりです。

/* ex: set tabstop=8 expandtab: */

このコマンドはほとんどの場合に機能しますが、サーバーはセキュリティ上の理由からmodelineをオンにせずにセットアップされることがよくあります。この機能をオンにするには、$ HOME/.vimrcまたはシステム$ VIM/vimrcに以下を追加します。

set modeline
110
ypnos

。vimrc ファイルを編集して、設定をグローバルに保存できます。

Vimでは modelines を使用してファイルごとの設定を保存することもできます

9
Matthewd

現在の設定をすべてファイルに保存する方法は次のとおりです。

:redir > textfile.txt 
:set all 
:redir END

必要に応じて、そのファイルの名前を~/.vimrcに変更してください。

7
Harley Holcombe

たとえば、ファイルを特定のタイプとして保存できます。特別なファイル名の形式または拡張子を付け、.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
4
Rob Wells