Hi

This patch detects East Asian ambiguous width (UAX #11) state of terminals at 
the start-up time.
It makes Vim automatically set "ambiwidth" option to "double" when it is 
running inside some CJK terminals,
This feature works only when Vim is compiled with +multi_byte and +termresponse 
feature, and termcap option t_u7 should be set to "\e[6n".

I tested it on the following terminals.

- xterm with "-cjk" option
- gnome-terminal(VTE) with environment "VTE_CJK_WIDTH=1"
- mlterm with "--ac=2" option
- MinTTY with CJK font environment
- GNU Screen version 4.01.00devel with "cjkwidth" command and let &t_u7="\e[6n"'
- TeraTerm
- RLogin
- Poderosa
- iTerm2 with "Treat ambiguous-width characters as double width" option
- Terminal.app(OSX 10.8) with CJK width option

if $TERM is 'screen', termcap option t_u7 is empty by default.
So we need to add the following code in vimrc for testing it.

if !has('gui_running') && has('vim_starting') && exists('+t_u7') && $TERM =~ 
'screen'
  let &t_u7 = "\e[6n"
endif

---
Hayaki Saito
[email protected]

-- 
-- 
You received this message from the "vim_dev" maillist.
Do not top-post! Type your reply below the text you are replying to.
For more information, visit http://www.vim.org/maillist.php

--- 
You received this message because you are subscribed to the Google Groups 
"vim_dev" group.
To unsubscribe from this group and stop receiving emails from it, send an email 
to [email protected].
For more options, visit https://groups.google.com/groups/opt_out.


Attachment: detect-ambiguous.diff
Description: Binary data

Raspunde prin e-mail lui