On 3/7/07, A.J.Mechelynck <[EMAIL PROTECTED]> wrote:
As long as 'encoding' is set to UTF-8, there is no easy way to get the cp936 value of a given character in the buffer.
I don't know if there is something specific with cp936, but for encodings I use daily (cp866, cp1251, koi8-r) the following works: set statusline= <skip> %{HexDec()} <skip> <skip> function! HexDec() let char = matchstr(getline("."), ".", col(".") - 1) if g:EXTERNAL let char = iconv(char, &encoding, &fileencoding) let format = "0x%02X <%d>" else let format = "0x%02X (%d)" endif let char = char2nr(char) return printf(format, char, char) endfunction <skip> nmap <silent> <F4> :let EXTERNAL = !EXTERNAL<CR> imap <F6> <C-O><F4> Code of a character under cursor is always displayed in statusline (in both hex and dec), and I can switch between `encoding` and `fileencoding`. -- Cyril Slobin <[EMAIL PROTECTED]> `When I use a word,' Humpty Dumpty said, <http://45.free.net/~slobin> `it means just what I choose it to mean'