একটি উইমস্ক্রিপ্ট-ফাংশনে, l:matched
কল করার পরে search()
আমার একটি ভেরিয়েবলের সাথে একটি ম্যাচিং স্ট্রিং অর্পণ করতে হবে এবং আমি ভাবছি যে আমি বর্তমানে যা করছি তার চেয়ে আরও ছোট উপায় আছে কিনা:
let l:pattern = '\v^Foo: \zs.*'
let l:line = search(l:pattern)
let l:line_text = getline(l:line)
let l:matched = matchstr(l:line, l:pattern)
আদর্শভাবে, আমি কিছু চাই
let l:matched = search_text(l:pattern)
মুখোমুখি অবলম্বন getline()
। এমন কোনও ভিম ফাংশন আছে যা আমি খুঁজে পেতে অক্ষম বলে মনে করি?
1
দুঃখজনকভাবে, উত্তর নেই।
—
সাতো ক্যাটসুর
প্রতিলিপি: স্থানীয় ভেরিয়েবলগুলি ফাংশনগুলির ডিফল্ট অভ্যন্তর হয় তাই আপনি সম্ভবত
—
পিটার রিনকার
l:
নেমস্পেসের ঘোষণাটি বর্জন করতে পারেন ।
কোনও ফাংশনে আপনি সম্ভবত এটি করতে পারেন:
—
খ্রিস্টান ব্র্যাব্যান্ডটি
:let @/="pattern" | norm! ygn
এবং রেজিস্টার 0 তে সামগ্রী উপলব্ধ রয়েছে।