Vim Tips Wiki

Abbreviation that prompts whether to expand it or not

1,623pages on
this wiki
Add New Page
Add New Page Talk0
Tip 650 Printable Monobook Previous Next

created February 4, 2004 · complexity basic · author Yakov Lerner · version 6.0

You can define an abbreviation in such a way that it will ask whether to expand it or not. The trick is to define it as an expression, then have that expression ask for confirmation:

function! s:Ask(abbr,expansion,defprompt)
  let answer = confirm("Expand '" . a:abbr . "'?", "&Yes\n&No", a:defprompt)
  " testing against 1 and not 2, I correctly take care of <abort>
  return answer == 1 ? a:expansion : a:abbr

iabbrev <expr> for <SID>Ask('for', "for () {\n}", 1)



Also on Fandom

Random Wiki