Vim documentation: multibyte

main help file

*multibyte.txt*    For Vim version 5.5.  Last change: 1999 Sep 19


		  VIM REFERENCE MANUAL    by Bram Moolenaar



Multi-byte support				*multibyte* *multi-byte*

This is limited information on the support in Vim to edit files that use more
than one byte per character.

See |+multi_byte| and |'fileencoding'|.

1. XIM and X fontset support		|xim|
2. UTF-8 in XFree86 xterm		|UTF8-xterm|

==============================================================================

1. XIM (X Input Method) and X fontset support.		*xim* *x-input-method*

							*xfontset* *x-fontset*

-. NOTE
   You can use multi-byte using gui VIM. This feature fully uses
   |+multi_byte|.

-. You should run X Input server which supports your language.
   You can see your language though you have no X Input server.

-. If needed, insert next 3 lines in your $HOME/.Xdefaults

	*international: True
	*.inputMethod: your_input_server_name
	*.preeditType: your_input_method

   Next 2 or 3 lines should be inserted in your $HOME/.Xdefaults:
   If you want to use multi-byte language, you should set 'guifontset'.

	Vim.font: english_font,your_language_font
	Vim*fontSet: english_font,your_language_font
	Vim*fontList: your_language_font:


   *international may not necessary if you use X11R6.
   *.inputMethod and *.preeditType is a optional if you use X11R6.

   your_input_method = OnTheSpot or OverTheSpot or OffTheSpot or Root
                       (OnTheSpot currently not supported).
   Vim.font is for text area.
   Vim*fontSet is for menu.
   Vim*fontList is for menu (Motif) <-- Athena version not needed.

   You should set 'guifontset' to use multi-byte. Example:

	:set guifontset=english_font,your_language_font

   You can also specify font set as XLFD if it can be displayed your
   locale dependence codeset. e.g.

       :set guifontset=-misc-fixed-medium-r-normal-*

   note) You can not use IM as long as you specify 'guifontset'
         Therefore,latain users, you have to also use 'guifontset'
	 if you use IM.

   And you should not set 'guifont'. If it is set, VIM ignores 'guifontset'.
   It means VIM runs without fontset supporting. So, you can see only
   english. Your language displays corrupted.

   After 'fontset' feature is enabled, VIM does not allow using 'font'.
   For example, if you use
      :set guifontset=eng_font,your_font
   in your .gvimrc, then you should do for syntax
      :hi Comment guifg=Cyan font=another_eng_font,another_your_font
   If you just do
      :hi Comment font=another_eng_font
   then you can see a GOOD error message. Be careful!

-. if needed, you can set XMODIFIERS env. var.

	sh:  export XMODIFIERS="@im=your_input_server_name"
	csh: setenv XMODIFIERS "@im=your_input_server_name"

   input_server_name is your XIM server name.

-. You should set LANG environment variable to your language.
   Don't unset or set to C.
	sh:  export LANG=ko
	csh: setenv LANG ko

-. In your .vimrc, add this
	set fileencoding=korea
   You can change the 'korea' to the some other name such as japan, taiwan.

-. BUGS & TODO
   *. your_language_font width should be twice than english_font width.
      I want to think it is not a bug. GVIM needs fixed width font.
      ex)  Vim.font: -*-fixed-*--14-*-*-*-*-70-*,-*-*-*-*--14-*-*-*-*-140-*
   *. If input method set fails, there should not be shown the additional
      status line in the bottom. Also, if user use Root style.
   *. Sometimes, gvim hangs if I press some button in the XIM server.
   *. In the visual mode, select with mouse, sometimes, only half of the
      characters are shown.
   *. And many other unknown side effect and BUG!!!!.

-. Compile
	./configure --with-x --enable-multibyte --enable-fontset --enable-xim
	make
	run_your_X_input_server_if_not_currently_running
	./vim -g

   note) If you use Linux, you should add '-DX_LOCALE' to the CFLAGS.
   note) If your system has broken-locale, such as current Linux for multibyte
	 people, you should add '--enable-broken-locale' to configure option.

Thanks to Bram who made a VIM, the best editor I have met.
Thanks to YJSeo who made a X Input Server, named hanIM.

Send any other comments, patches and suggestions to:

Chi-Deok Hwang <cdhwang@sr.hei.co.kr> 
Sung-Hyun Nam <namsh@lgic.co.kr> 
	K.Nagano <nagano@atese.advantest.co.jp> 

==============================================================================

2. UTF-8 in XFree86 xterm				*UTF8-xterm*

This is a short explanation of how to use UTF-8 character encoding in the
xterm that comes with XFree86 by Thomas Dickey (text by Markus Kuhn).

NOTE: Editing and viewing UTF-8 text in Vim does not work as expected yet!

Get the latest xterm version which has now UTF-8 support:

	http://www.clark.net/pub/dickey/xterm/xterm.tar.gz

Compile it with "./configure --enable-wide-chars ; make"

Also get the ISO 10646-1 version of the 6x13 font, which is available on

	http://www.cl.cam.ac.uk/~mgk25/download/ucs-fonts.tar.gz

and install the font as described in the README file.

Now start xterm with

  xterm -u8 -fn -misc-fixed-medium-r-semicondensed--13-120-75-75-c-60-iso10646-1

and you will have a working UTF-8 terminal emulator. Try both

  cat utf-8-demo.txt
  vim utf-8-demo.txt

with the demo text that comes with ucs-fonts.tar.gz in order to see
whether there are any problems with UTF-8 in your xterm.

top - main help file