私は VIM でコード行に終了文字を自動的に追加する方法を模索してきました。私の場合はCSSです。私はこのヒントhttp://vim.wikia.com/wiki/Automatically_append_closing_charactersに出くわし、好きなものに追加する.vimrc
ように指示するコードを微調整しました
inoremap { {}<Left>
inoremap {<CR> {<CR>}<Esc>O
inoremap {{ {
inoremap {} {}
だから私が書くとき
body
次に { と ENTER をすばやく連続して押すと、結果はどうなりますか
body {
}
カーソルがインデントされて 2 行目にあるので、そのブロックにコードを書く準備ができていることに注意してください。
また、私は以下も追加したことを言及する必要があります.vimrc
inoremap :: :;<Left>
: と : を立て続けに入力すると、と:;
の間にカーソルが置かれるようになります。これはまさに私がなりたい場所であり、すぐにコードを書き始めることができます。:
;
問題なく動作しましたが、インストールしたオートコンプリート プラグイン (AutoComplPop VIM プラグインhttp://www.vim.org/scripts/script.php?script_id=1879.vimrc
) が上記の調整と競合することにすぐに気付きました。
たとえば、書き始めるとcolor
、すべてのオプションのドロップ オートコンプリート ドロップダウン メニューが表示されます。問題は、オプションcolor
が実際にはcolor:
.
コロンが既に追加されていることがわかります。選択すると、コロンが既に存在するため、手動で終了;
文字を追加する必要があります。これは基本的に、自動追加の終了文字コードを my に追加するという目的全体を.vimrc
無効にします。この場合、終了セミコロンを自動追加しないためです。
では、すべての CSS プロパティがコロンで終わらないように、VIM のオムニ補完をカスタム編集するにはどうすればよいでしょうか?
VIM の CSS オートコンプリート オプションで、ここで AutoComplPop に出会いましたhttp://www.vim.org/scripts/script.php?script_id=1879