クイック初心者質問です。のは、私はVimの中で、次のコードを持っているとしましょう:行を自動的にインデントする方法は?
void main()
{
int i = i + 1;
return i;
}
私は2行のコードの間の空の行にカーソルを持っています。 i(またはa)を押してテキストを入力すると、カーソルが正しい位置にインデントされます(つまり、「int i ...」のiの下)。どのようにそれを行うことができます任意のアイデア?
クイック初心者質問です。のは、私はVimの中で、次のコードを持っているとしましょう:行を自動的にインデントする方法は?
void main()
{
int i = i + 1;
return i;
}
私は2行のコードの間の空の行にカーソルを持っています。 i(またはa)を押してテキストを入力すると、カーソルが正しい位置にインデントされます(つまり、「int i ...」のiの下)。どのようにそれを行うことができます任意のアイデア?
:set cindent
int i...
行に3を入力してみてください。まったく自動ではありませんが、時間を節約します。
@chaosと同様に、cindent
はおそらくあなたが探しているものです。
すべての非常に設定可能とthe Vim documentation on indentで文書化されてautoindent
、smartindent
、およびindentexpr
は、もあります。
は、ここで彼らがいかに、設定の抜粋です:
{N Place opening braces N characters from the prevailing indent. This applies only for opening braces that are inside other braces. (default 0). cino= cino={.5s cino={1s if (cond) if (cond) if (cond) { { { foo; foo; foo;
のために空白行とOのCCを使用しています。私は ":cindentを設定"し、a(またはi)を押すと、最初の列にテキストを入力し、4番目(または他の列)にはテキストを入力しません。ところで 、私は セットsmartindent 設定タブストップ= 4 セットずらし幅= 4つの 任意のアイデア私の.vimrc セットオートインデントでこれらを持っていますか? – Mosh
ああ、申し訳ありませんが、質問の一部を見逃しました。 'i'と' a'はすぐに自動インデントされません。それらの定義された振る舞いは、それぞれカーソルの後に挿入されます。もしあなたがEnterキーを押すとインデントされますが、新しい行を始めるには 'o'と' O'を使います。それは私があなたに何か他のことをしていたことに気づかなかったので、私には夢中になっています。 – chaos
解決策は何ですか?私は空の行があり、私は右(インデントされた)位置に入力を開始したい。何か案は? – Mosh