私の仕事では、インデントのハウススタイルに従う必要があります。
- 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!
コマンドを使用してvimでファイルを修復できます(スペースをタブで置き換える、またはその逆)。expandtab
以上のメリットは何ですかsts=2
ピーターの答えに+1しますが、Vimは別のソリューションも提供します。setlocal
一連のオプション、コマンド、マッピングをまとめて一度に設定するなど、1つよりも複雑なことを実行したい場合は、vimのファイルタイププラグイン機能が役に立ちます。
あなたは持っている必要がありますfiletype plugin on
かfiletype plugin indent on
あなたに.vimrc
、そしてあなたが作成することができます例えばルビーのためのプラグインを作成します~/.vim/ftplugin/ruby.vim
。技術的にはあなたは、Rubyファイルがロードされたときに実行されるように、ここのように任意のコマンドを使用することができますが、推奨のものが含まれsetlocal
、map <buffer>
、command -buffer
、および関数を定義します。詳細については、ユーザーガイドをご覧ください。スクリプトvimにかなり慣れている場合は、にジャンプします。:help 41.11
それ以外の場合は:help usr_40
、とを読んでください:help usr_41
。
素敵なvimスクリプトもあります:DetectIndentは、開いたファイルのインデントを検出しようとします。コーディングスタイルが異なる多数のファイルを操作する場合に非常に便利です。
私は.vimrcでオートコマンドを使用しています:
:autocmd BufReadPost * :DetectIndent
タブキーが押されるたびにスペース文字を挿入するには、 'expandtab'オプションを設定します。
:set expandtab
次のステップは、タブキーが押されたときに挿入される空白文字の数を制御することです。'tabstop 'オプションを設定します。たとえば、タブに2つのスペースを挿入するには、次を使用します。
:set tabstop=2