Alexei Alexandrov wrote:
> James Vega wrote:
>> Per your examples, @p falls under the end-id category.  @pi doesn't fall
>> into any of those categories since the first character is a non-keyword
>> character and the rest are keyword characters.  pi@ on the other hand
>> would work.
>>
> 
> I see. I read that doc in fact but failed to deduce the reason. Thanks 
> for explaining.
> 
> P.S. I still fail to deduce the reasoning for such Vim behavior, though. 
>   :)

I'm not sure, but I suppose being able to determine easily when to trigger 
which abbreviation is part of the reason: each kind of abbreviation has 
different delimiting rules:

full-id: aaaaa
can be preceded by: non-id, space, tab, start of insert

single-id: a
can be preceded by: space, tab, start of insert

end-id: ####a
can be preceded by: id, space, tab, start of insert

non-id: ????#
{not on Vi}
can be preceded by: space, tab, start of insert

All abbreviations must be followed by a non-id, whitespace, the <Esc> stopping 
insert, the <Enter> ending a command, or the <Ctrl-]> used to evaluate an 
abbreviation without adding anything after it.


Note that for many tasks, if an abbreviation is not possible you can define a 
mapping. Unlike abbreviations, however, mappings have no context: wherever you 
type the {lhs} it gets replaced by the {rhs}.


Best regards,
Tony.
-- 
hundred-and-one symptoms of being an internet addict:
60. As your car crashes through the guardrail on a mountain road, your first
     instinct is to search for the "back" button.

--~--~---------~--~----~------------~-------~--~----~
You received this message from the "vim_dev" maillist.
For more information, visit http://www.vim.org/maillist.php
-~----------~----~----~----~------~----~------~--~---

Raspunde prin e-mail lui