The editor Vim supports Unicode natively. If your X or console keymap is set up to enter unicode characters via the keymap, it will work fine in Vim. Alternatively, there are two other ways of entering these characters.
The slow way is just to use their hex code. Hit Ctrl+V, then u, then type the hex code. For example, hex code 00BF will give you an inverted question mark, ¿. This is useful if you only very occasionally want to type one of these characters. Lists of UTF-8 character codes are available online.
A better bet is to set up digraphs. These enable you to type a character, backspace, then another character, and have a UTF-8 character generated. To use these, first put this line:
You can set your own digraphs using:
:dig[raphs] char1char2 number
If you find digraphs annoying (if you regularly have to backspace to correct single characters, you may end up inserting them by accident), type:unset digraphs in command mode (or add unset digraphs to your ~/.vimrc__ file), and use Ctrl+K char1 char2 instead of char1 backspace char2 to enter digraphs. This method is always available, even when digraphs aren't set.