Hi,

When I typed the letter U+00F2 (latin small letter o with grave) with
input methods active, and pressed space bar, vim (and gvim)
automatically exited insert mode, returned back to normal mode. Only 1
space character was added as the cursor moved forward, the letter didn't
appear.

To type the letter U+00F2, with input methods on, I would type in insert mode
'o' then '2' then 'spacebar'.

The input methods that I have tried :
scim version : 1.4.14

   scim-unikey : 0.3.1
   scim-vi-vni : built-in

ibus verion : 1.3.19
   ibus-unikey : 0.5.1

With normal Vim and XTerm please do the similar tasks as below.
Steps to reproduce (with Gvim):
With scim
  1. Setup scim
  2. environment GTK_IM_MODULE=scim
                 GTK_IM_MODULE_FILE=to-the-correct-immodules.cache (or
                 similar filename)
  3. In scim setup > Global Setup, disable all but Vietnamese.
  4. Now assuming gvim and scim is ready.
     In gvim, 'i' to go to insert mode.
     Press Ctrl-Space to activate scim, then choose Vietnamese-vi-vni
         in scim toolbar. (or Vietnamese-Unikey, and choose vni instead
         of telex)
     Then type 'o' then '2' then space.
  5. Gvim should go back to normal mode while it should have shown
  letter ò (letter U+00F2) instead.

With ibus, the procedure is similar.

Here is what I saw with :set verbose=20 :
after typing 'o','2','spacebar' with scim activated:

Executing CursorMoved Auto commands for "*".
Press ENTER or type command to continue
: call s:Highlight_Matching_Pair()
calling function <SNR>12_Highlight_Matching_Pair()
line 1:   " Remove any previous match.
line 2:   if exists('w:paren_hl_on') && w:paren_hl_on
line 3:     3match none
line 4:     let w:paren_hl_on = 0
line 5:   endif
line 6:
line 7:   " Avoid that we remove the popup menu.
line 8:   " Return when there are no colors (looks like the cursor jumps).
line 9:   if pumvisible() || (&t_Co < 8 && !has("gui_running"))
line 10:     return
line 11:   endif
line 12:
line 13:   " Get the character under the cursor and check if it's in
'matchpairs'.
line 14:   let c_lnum = line('.')
line 15:   let c_col = col('.')
line 16:   let before = 0
line 17:
line 18:   let c = getline(c_lnum)[c_col - 1]
line 19:   let plist = split(&matchpairs, '.\zs[:,]')
line 20:   let i = index(plist, c)
line 21:   if i < 0
line 22:     " not found, in Insert mode try character before the cursor
line 23:     if c_col > 1 && (mode() == 'i' || mode() == 'R')
line 24:       let before = 1
line 25:       let c = getline(c_lnum)[c_col - 2]
line 26:       let i = index(plist, c)
line 27:     endif
line 28:     if i < 0
line 29:       " not found, nothing to do
line 30:       return
function <SNR>12_Highlight_Matching_Pair returning #0
continuing in CursorMoved Auto commands for "*"
Executing TextChanged Auto commands for "*"
Press ENTER or type command to continue
autocommand call s:HighLight_Matching_Pair()

OS : slackware 14.1

Regards,
Khang.

-- 
-- 
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/d/optout.

Raspunde prin e-mail lui