質問

私は Eclipse と Java を使用するのに少し甘やかされてしまいました。Linux 環境で C コーディングを行うために vim を使い始めましたが、vim にブロックの適切な間隔を自動的に行わせる方法はありますか?

つまり、{ を入力した後、次の行には 2 つのスペースがインデントされ、その行で改行を押すと同じインデントが維持され、} を入力すると 2 つのスペースが戻されます。

役に立ちましたか?

解決

次の 2 つのコマンドで実行できます。

:set autoindent
:set cindent

ボーナスポイントを得るには、Linux のホームディレクトリにある .vimrc という名前のファイルにポイントを入れてください。

他のヒント

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 ++でプログラムする場合に特に便利です。後者のスペース。

そして、スペース + タブに関するこの由緒正しい説明を常に覚えておいてください。

http://www.jwz.org/doc/tabs-vs-spaces.html

試す:

sw=2を設定

ts=2 を設定します

スマートインデントを設定する

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top