Using ctrl+v U in insert mode, you can enter Unicode characters by code point. UTF-8 can only encode up to U+7FFFFFFF. Entering any code point up to that value works fine, but if if you type "ctrl+v U 81234567" for example, you get "<t_" followed by some other bytes instead of the requested code point.
I don't know where to submit bug fixes but since this one is only two lines long, I'll post it here. In edit.c you can replace this line: if ((unicode == 'u' && i >= 4) || (unicode == 'U' && i >= 8)) with this: if ((unicode == 'u' && i >= 4) || (unicode == 'U' && (i == 7 && cc > 0x7FFFFFF || i >= 8))) This way vim stops reading input after 7 hex digits if an eighth digit would make the code point higher than what UTF-8 can encode. Phil Carter -- You received this message from the "vim_dev" maillist. Do not top-post! Type your reply below the text you are replying to. For more information, visit http://www.vim.org/maillist.php