Fandom

Vim Tips Wiki

Generate all Unicode characters

1,624pages on
this wiki
Add New Page
Talk0 Share

Ad blocker interference detected!


Wikia is a free-to-use site that makes money from advertising. We have a modified experience for viewers using ad blockers

Wikia is not accessible if you’ve made further modifications. Remove the custom ad blocker rule(s) and the page will load as expected.

Tip 576 Printable Monobook Previous Next

created 2003 · complexity basic · author maxiangjiang · version 7.0


You can generate a table of Unicode characters in Vim to see how they are displayed by your system. This may be of interest to anyone using CJK characters.

Example The following will add a table showing the characters from hex 9900 to 9fff, inclusive:

:call GenerateUnicode(0x9900, 0x9fff)

Screenshot

CJK

How toEdit

For this to work, you will need:

:set guifont=*         "select a suitable font
:set encoding=utf-8    "set a suitable encoding
:set ambiwidth=double  "for CJK characters (probably not needed)

Copy the following into a file, then type :so % (source current file) to define the function. Enter :new and type :call GenerateUnicode(0x9900,0x9fff) (after setting the font and encoding).

function! GenerateUnicode(first, last)
  let i = a:first
  while i <= a:last
    if (i%256 == 0)
      $put ='----------------------------------------------------'
      $put ='     0  1  2  3  4  5  6  7  8  9  A  B  C  D  E  F '
      $put ='----------------------------------------------------'
    endif
    let c = printf('%04X ', i)
    for j in range(16)
      let c = c . nr2char(i) . ' '
      let i += 1
    endfor
    $put =c
  endwhile
endfunction

See alsoEdit

CommentsEdit

Also on Fandom

Random Wiki