私の仕事では、インデントの家のスタイルに従う必要があります。これは次のようになります。
- htmlとrubyをコーディングするときの2つのスペース
- javascriptをコーディングするときのタブ、tabwidth=4を推奨
ファイルタイプごとに異なる空白の設定を指定するための最良の方法は何ですか?
私の仕事では、インデントの家のスタイルに従う必要があります。これは次のようになります。
ファイルタイプごとに異なる空白の設定を指定するための最良の方法は何ですか?
方法はたくさんありますが、ここではシンプルでわかりやすい方法を紹介します。~/.vimrcこれらの行をあなたの:に追加します
autocmd FileType html setlocal ts=2 sts=2 sw=2
autocmd FileType ruby setlocal ts=2 sts=2 sw=2
autocmd FileType javascript setlocal ts=4 sts=4 sw=4
ピーターの答えは単純明快ですが、残念ながら選択肢は正しくありません。代わりに次のオプションを使用する必要があります。
autocmd Filetype html setlocal ts=2 sw=2 expandtab
autocmd Filetype ruby setlocal ts=2 sw=2 expandtab
autocmd Filetype javascript setlocal ts=4 sw=4 sts=0 noexpandtab
また、次の点に注意してください。
:set list。:retab!。ピーターの答えに+1しますが、Vimは別の解決策も提供します。多数のオプション、コマンド、およびマッピングを一度に設定するなど、単一の よりも複雑なことをしたい場合はsetlocal、vim のファイルタイプ プラグイン機能が役に立ちます。
filetype plugin onまたはfiletype plugin indent onを持っている必要があり.vimrc、次に作成できる ruby などのプラグインを作成する必要があります~/.vim/ftplugin/ruby.vim。技術的には、ここで好きなコマンドを使用して、Ruby ファイルがロードされたときに実行できますが、推奨されるコマンドには、、、、および定義関数が含まれsetlocalます。ユーザーガイドには、さらに多くの情報があります。vim のスクリプト作成に精通している場合は、 にジャンプします。map <buffer>command -buffer:help 41.11:help usr_40:help usr_41
開いたファイルのインデントを検出しようとするDetectIndentという素晴らしい vim スクリプトもあります。コーディング スタイルが異なる多くのファイルを扱う場合に非常に便利です。
.vimrcで自動コマンドを使用します。
:autocmd BufReadPost * :DetectIndent