5

vim-autocloseというVim自動ペアプラグインを見つけました。他のIDEと同じようにうまく機能します。たとえば、入力すると表示{されます{|}(「|」はカーソルを表します)。次に、「Enter」を押すと、次のように{|}なります。

{

      |

}

これは私が必要としているものですが、残念ながら中国語入力メソッドアプリケーションが無効になるため、放棄する必要があります。

他の自動クローズプラグインを試しましたが、この方法で自動クローズすることはできません。上記のようにオートクローズを機能させる方法を見つけました。

:autocmd FileType c,java,javascript ino <buffer> { <C-G>u{<CR>}<Esc>O<C-T>

しかし、シフト幅に問題があります。たとえば、私:set shiftwidth=4が間にある新しい行に{}は、8つのスペースインデントがあります。新しい行のインデントは、シフト幅を2倍にします。

私の質問は、改行のインデントをshiftwidthの同じスペースインデントに設定する方法です。

4

2 に答える 2

0

設定後set aiset smartindentvimrcで

以下を使用します

inoremap {<CR> {<CR>}<ESC>O

動作するはずです。最後の文字はcapital O、ゼロではありません。

于 2016-01-11T15:32:14.810 に答える
0
inoremap { {<CR><CR>}<C-o>k<C-o>S

動作するようです。

于 2012-08-24T15:23:28.397 に答える