: キーを入力した際にインデントを整える機能が起動しているものと思います。
該当のことが起こるバッファー上で
:echo &l:indentexpr
を実行するとインデントに必要な空白の数を計算している関数の名前がわかります。
:verbose function {function-name}
を実行すると関数の定義されている場所がわかるので、そこを確認してみるのが良いと思います。
'indentexpr'の内容が空白であれば、そのインデントの計算はVimのcindent機能によって行われています。
(:help 'indentexpr'を参照)
cindentでインデントが行われている場合、インデント機能を呼び出すトリガーになるキーはcinkeysというオプションで定義されています。
cinkeysから:を除外すれば良いので、以下を実行してください。
:set cinkeys-=:
上は、cinkeysのリストから:を除外するという内容のコマンドです。
cppファイルでは上の設定を適用するように変更したい場合は、vimrcに以下を追記します。
Vim
1augroup VimRc
2 autocmd!
3augroup END
4
5autocmd VimRc FileType cpp setlocal cinkeys-=: