私は、EclipseとJavaを使用していくぶん甘やかされてきました。 Linux環境でvimを使用してCコーディングを開始しましたが、vimにブロックの適切な間隔を自動的に実行させる方法はありますか?
{を入力した後、次の行には2つのスペースがインデントされ、その行に戻ると同じインデントが保持され、}が2つのスペースに戻りますか?
次の2つのコマンドで実行できます。
:set autoindent
:set cindent
ボーナスポイントについては、Linuxのホームディレクトリにある.vimrcというファイルに保存してください。
I vimのタブについてすべて書きました 。これは、あなたが尋ねなかったいくつかの興味深いことを与えます。ブレースを自動的にインデントするには、次を使用します。
:set cindent
2つのスペースをインデントするには(vimのデフォルトである8つのスペースの1つのタブの代わりに):
:set shiftwidth=2
Vimが8つのスペースをタブに変換しないようにするには:
:set expandtab
テキストブロックのインデントを変更する場合は、<と>を使用します。私は通常、これをブロック選択モードと組み合わせて使用します(v、テキストのブロックを選択、<または>)。
(私(および他のほとんどの人)は読みにくいと感じているため、2スペースのインデントを使用しないようにしようと思いますが、それは別の議論です。)
Vimの多くの機能(autoindent
やcindent
など)はデフォルトでオフになっています。 vimで何ができるかを実際に確認するには、まともな~/.vimrc
。
良いスターターは$VIMRUNTIME/vimrc_example.vim
。試してみたい場合は、
:source $VIMRUNTIME/vimrc_example.vim
vimの場合。
実際にコンテンツをコピーすることをお勧めします~/.vimrc
よくコメントされているので、vimの使い方を学び始めるのに良い場所です。あなたはこれをすることができます
:e $VIMRUNTIME/vimrc_example.vim
:w! ~/.vimrc
これにより、現在の~/.vimrc
が、Davrが提案するインデント設定がすべて揃っていれば、vimrcの例がそれを自動的に処理するので、私は気にしません。この例の完全なウォークスルーと、それがあなたに何をするかについては、:help vimrc-intro
。
user@Host:~ $ echo set autoindent >> .vimrc
最良の答えは、vim wikiaで実際に説明されていると思います。
http://vim.wikia.com/wiki/Indenting_source_code
「set autoindent」の使用は推奨されないことに注意してください。この説明で私が見つけるすべての最高の機能は、ファイルごとの設定を設定できることです。これは、たとえばpythonおよびC++前者のタブにはスペース、後者のスペースには2。
spaces + Tabsのこの由緒ある説明を常に覚えておいてください。