This is similar to a previous question re: Ctrl-Z. The context is different though: I use a bash shell window, in which I am in insert mode. Hitting Ctrl+^ in this mode means that I probably meant to switch to my other buffer.
It should be very similar to the linked question:
inoremap <C-^> <Esc><C-^>
This just makes it so that if you type
<C-^> in insert mode it goes to normal mode and does the command there instead.
:help map-overview for more info.
Tumbler41 answer is partially incorrect. Use of
<Esc> is discouraged in favor of
<C-o>, so you should use this line instead:
imap <C-^> <C-o><C-^>
although both are fine in your case.
However, for the educational purposes let's consider this example from my old .vimrc:
map <F5> :nohl<CR> imap <F5> <Esc><F5>
After pressing F5 two thing will happen beside turning off highlights:
- you will exit insert mode
- cursor moves to the left
Also notice, that pressing i to reenter insert mode doesn't move cursor back to the original position, so you need to press → to get it back to where it was before. I personally found it incredibly annoying.
After changing my example to:
map <F5> :nohl<CR> imap <F5> <C-o><F5>
all of those problems disappear.
You can read more about
<C-o> on the wiki.