Loading ...
Sorry, an error occurred while loading the content.

54897Windows gvim doesn't properly update cursor position following an imap

Expand Messages
  • Gary Johnson
    Sep 1, 2009
      To observe this problem, start gvim from a Windows Command Prompt as

      gvim -N -u NONE -U NONE

      then define this mapping:

      imap ,= <Esc>0y$!!echo d<CR>I = <Esc>0PA

      Enter insert mode on a empty line and type

      abc

      followed by

      ,=

      to trigger the mapped operation. You will see this line with the
      cursor positioned between the b and the c.

      abc = d

      This is incorrect: the cursor should be immediately to the right of
      the d. At this point, type some letter, say x, and the cursor will
      jump to the right so that you will see this:

      abc = d x

      with the cursor immediately to the right of the x. This is also
      incorrect: there should be no space between the d and the x.

      I first observed this problem using gvim 7.2.148 on Windows XP. I
      just updated to 7.2.245 from the Cream site and the results are the
      same.

      The DOS version of vim 7.2.245 has only the second bug, the extra
      space. It (almost) correctly puts the cursor to the right of that
      extra space following the d as soon as the mapping is executed.

      Neither problem appears in Cygwin's package of vim 7.2 nor in a vim
      7.2.148 I built on Linux. I have not tried gvim on Linux to see if
      the problem is there.

      Regards,
      Gary



      --~--~---------~--~----~------------~-------~--~----~
      You received this message from the "vim_dev" maillist.
      For more information, visit http://www.vim.org/maillist.php
      -~----------~----~----~----~------~----~------~--~---
    • Show all 2 messages in this topic