特定の拡張子を持つファイルを開くときに特定のvimコマンドを実行するにはどうすればよいですか?


9

末尾がすべてのファイルの.tex行長を80にしたいので.tex、vimでファイルを開くたびに、と入力し:set tw=79ます。これを自動化するために.vimrcに何を入れますか?

私はファイルタイプの特定のリストとの仕事にそれを望んでいたならば、言う、.md.txt、と.tex

回答:


10

拡張子を確認してそれに応じてテキスト幅を設定する代わりに、Windows 内またはWindows用のtex.vim(名前はファイルタイプと一致する必要があります)ファイルを作成し、そこでテキスト幅を設定するだけです。これは、.vimrcをクリーンに保つのに役立ちます。.vim/ftplugin/$HOME/vimfiles/ftplugin/

あなたの.vim/ftplugin/tex.vimファイルは、次のようになります。

setlocal textwidth=79

8bittreeがコメントで言ったようfiletype pluginsに、vimrcでも有効にする必要があります(私はなぜ誰もそれを有効にしないのかわかりません):

filetype plugin on

詳細については、こちらをご覧ください:http : //vim.wikia.com/wiki/Keep_your_vimrc_file_clean


2
また、.vimrcwith でfiletypeプラグインが有効になっていることを確認する必要がありますfiletype plugin on
8ビットツリー

8

では~/.vimrc、あなたの次の行を追加することができます。

au BufReadPost,BufNewFile *.md,*.txt,*.tex setlocal tw=79

追加のコマンドについては、それらをで区切ります|

これにより、ファイルを読み取った直後、または特定の拡張子のバッファーに新しいファイルを開いた直後に設定が行われます。


2
set設定はいくつでも取ることができます。のようなものset tw=79 nowrap formatoptions+=jが動作します。|(もちろん、別のコマンドを呼び出す必要がない限り)の必要はありません;-)
Martin Tournoij
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.