Find character under cursor in vim
Also look at
ga (show character under cursor as ascii)
g8 (show character under cursor as utf8, including Unicode stuff, hex codes etc)
And most usefully:
8g8
Find an illegal UTF-8 byte sequence at or after the
cursor. This works in two situations:
1. when 'encoding' is any 8-bit encoding
2. when 'encoding' is "utf-8" and 'fileencoding' is
any 8-bit encoding
Thus it can be used when editing a file that was
supposed to be UTF-8 but was read as if it is an 8-bit
encoding because it contains illegal bytes.
Does not wrap around the end of the file.
Note that when the cursor is on an illegal byte or the
cursor is halfway a multi-byte character the command
won't move the cursor.
Update
Use Tim Pope's vim-characterize
plugin to get full UNICODE names and data:
In Vim, pressing
ga
on a character reveals its representation in decimal, octal, and hex.Characterize.vim modernizes this with the following additions:
- Unicode character names: U+00A9 COPYRIGHT SYMBOL
- Vim digraphs (type after to insert the character): Co , cO
- Emoji codes: :copyright:
- HTML entities: ©
On a single line you can use fo
and then ;
to go forward (or ,
backward).
On multiple line, you must use /o
and then n
to go forward (or N
backward).
Alternatively, your problem might be solved by using regexp and substitute, ie :%s/[your odd character]//g
To manage to copy and paste your "odd character", you should go in visual using v to select the character, then yESC.
Then type :
:%s/<CTRL+r>"//g
<CTRL+r>"
will copy the content of the copy register in the command line.
Following will map <leader>z
(usually \z
)
:nnoremap <leader>z xhp/<C-R>-<CR>
Let me know if this works for you.