প্রথমত, আপনার সংক্ষিপ্তসারটি আপনি যা বলেন তা আপনার উদাহরণে সন্নিবেশ করে না; এটি আমার কাছে বরং বাজে আচরণ করে যদিও আমি ইটচার () সংজ্ঞায়িত করেছি। আমার সর্বোত্তম অনুমান যে এটি অন্যান্য সংক্ষেপণ / ম্যাপিংগুলি ট্রিগার করছে এবং আমি ধরে নেব যে আমার এটি একা ছেড়ে দেওয়া উচিত।
আমার সমাধানটি সিনট্যাক্স ইঞ্জিনে টাই করা, যার অর্থ এটি যদি কেবল আপনার সিনট্যাক্স হাইলাইটিং সক্ষম করে থাকে তবেই এটি কাজ করবে । এটা চেষ্টা কর:
iab <buffer> <expr> for <SID>CodeInsert("for", "for<Space>(<Space>{{<Esc>kA<Left><Left><Left><Left><C-R>=Eatchar('\s')<CR>")
function! s:CodeInsert(abbr,str)
let syn = synIDattr(synIDtrans(synID(line('.'), col('.') - 1, 1)), 'name')
if syn ==? 'comment' || syn ==? 'constant'
return a:abbr
else
return a:str
endif
endfunction