1 " characterize.vim - Unicode character metadata
5 if exists("g:loaded_characterize") || v:version < 700 || &cp
8 let g:loaded_characterize = 1
10 function! s:info(char)
17 let nr = charseq ==# "\n" ? 0 : char2nr(charseq)
18 let char = nr < 32 ? '^'.nr2char(64 + nr) : nr2char(nr)
19 let charseq = strpart(charseq, nr ? len(nr2char(nr)) : 1)
20 let out = '<' . (empty(outs) ? '' : ' ') . char . '> ' . nr
22 let out .= printf(', \%03o', nr)
24 let out .= printf(', U+%04X', nr)
25 let out .= ' '.characterize#description(nr, '<unknown>')
26 for digraph in characterize#digraphs(nr)
27 let out .= ", \<C-K>".digraph
29 for emoji in characterize#emojis(nr)
32 let entity = characterize#html_entity(nr)
34 let out .= ', '.entity
38 return join(outs, ' ')
41 nnoremap <silent><script> <Plug>(characterize) :<C-U>echo <SID>info(matchstr(getline('.')[col('.')-1:-1],'.'))<CR>
42 if !hasmapto('<Plug>(characterize)', 'n')
43 nmap ga <Plug>(characterize)