Very often, I record changes that involves i_^P, and see an issue
replaying them in Vim7. Say, you have text such as:

aaa bbb ccc
ddd eee fff
so on

Now, if I want to change all the 3rd columns to same as the first
column, I usually do this by recording the cw^P^P^[ while on the 3rd
column and replay it on the rest (the convenience might not be obvious
in this example, but for a small set of lines, this approach many
times, is way more convenient than createing a substitute command using
sub-expressions).

I see two issues with Vim7.
- Even with vim started using -u NONE (and 'nocp' set), repeating this
  macro works as if ^P is pressed only once (that is replaces with "eee"
  instead of "ddd" on the second line). If I set 'completeopt' to
  empty string, then it starts working again.
- Happily, I came back to my regular vim session and tried again with
  'completeopt' set to "", but it still behaves as if only one ^P is
  pressed. Didn't know what other setting could have made this
  difference, but I observe another issue here. In my Vim 6.3, pressing
  ^P after a space would immediately return the word before the space,
  and another ^P will be as quick, unless there are no more words in
  that buffer. But in Vim 7, this results in scanning all the open
  buffers (causing unnecessary delays). When 'completeopt' is empty,
  shouldn't it just complete the word in front of the space? Is this
  probably causing the second ^P from getting ignored? To validate this,
  I repeated my earlier experiment (-u NONE), but while several other
  buffers are also loaded, and reproduced the same problem. Setting
  'completeopt' to "" will still not make the macro to work (which it
  did, when there were no other buffers).

To summarize, I think there are two issues compared to Vim 6.3:
- i_Ctrl-P in macro recording is broken.
- i_Ctrl-P is scanning too much, and is too slow.

-- 
Thanks,
Hari

__________________________________________________
Do You Yahoo!?
Tired of spam?  Yahoo! Mail has the best spam protection around 
http://mail.yahoo.com 

Reply via email to