私の仕事では、インデントのハウススタイルに従う必要があります。
ファイルタイプごとに異なる空白設定を指定する最良の方法は何ですか?
多くの方法がありますが、ここでは簡単で理解しやすい方法を紹介します。これらの行を~/.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
を使用して、vimにタブ文字を表示させることができます。:retab!
コマンドを使用して、vimでファイルを修復する(スペースをタブで置き換える、またはその逆を行う)ことができます。Peterの答えに+1しますが、Vimは別のソリューションも提供します。オプション、コマンド、マッピングを一度に設定するなど、単一のsetlocal
よりも複雑なことをしたい場合は、vimのファイルタイププラグイン機能が役に立ちます。
filetype plugin on
にfiletype plugin indent on
または.vimrc
を含める必要があります。次に、プラグインを作成します。 Ruby ~/.vim/ftplugin/Ruby.vim
を作成できます。技術的には、ここで好きなコマンドを使用して、Rubyファイルがロードされたときに実行できますが、推奨されるものには、setlocal
、map <buffer>
、command -buffer
、および定義関数が含まれます。詳細については、ユーザーガイドに記載されています; vimのスクリプトに精通している場合は、:help 41.11
、それ以外の場合は:help usr_40
および:help usr_41
を読み取ります。
Nice vimスクリプトもあります: DetectIndent これは、開いているファイルのインデントを検出しようとします。コーディングスタイルが異なる多くのファイルを操作する場合に非常に便利です。
私は。vimrcでオートコマンドを使用しています:
:autocmd BufReadPost * :DetectIndent
タブキーが押されるたびにスペース文字を挿入するには、 'expandtab'オプションを設定します。
:set expandtab
次のステップは、タブキーが押されたときに挿入されるスペース文字の数を制御することです。'tabstop 'オプションを設定します。たとえば、タブに2つのスペースを挿入するには、次を使用します。
:set tabstop=2