私はEclipseとJavaを使って少し甘やかされてきました。Linux環境でvimを使用してCコーディングを開始しましたが、vimにブロックの適切な間隔を自動的に実行させる方法はありますか?
したがって、{を入力した後、次の行には2つのスペースがインデントされ、その行に戻ると同じインデントが維持され、}は2つのスペースに戻りますか?
回答:
これらの2つのコマンドはそれを行う必要があります:
:set autoindent
:set cindent
ボーナスポイントについては、Linuxのホームディレクトリにある.vimrcという名前のファイルに入れてください
私はvimのタブについてすべて書きましたが、それはあなたが尋ねなかったいくつかの興味深いことを与えます。中括弧を自動的にインデントするには、次を使用します。
:set cindent
2つのスペースをインデントするには(8つのスペースの1つのタブではなく、vimのデフォルト):
: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
最良の答えは実際にはvimwikiaで説明されていると思います:
http://vim.wikia.com/wiki/Indenting_source_code
「setautoindent」の使用はお勧めしませんのでご注意ください。この説明で私が見つけたすべての最高の機能は、ファイルごとの設定を設定できることです。これは、たとえば、PythonとC ++でプログラミングする場合に特に便利です。たとえば、前者のタブに4つのスペース、後者のスペース。
スペースとタブのこの由緒ある説明を常に覚えておいてください。
試してみてください:
sw = 2に設定
ts = 2を設定します
smartindentを設定する