'নরমাল' কমান্ডের এক্সপ্রেশনে ভেরিয়েবল কীভাবে ব্যবহার করবেন?


13

normal!উইমস্ক্রিপ্টের মাধ্যমে কোনও কিছু কার্যকর করার সময় কেউ কীভাবে একটি চলক ব্যবহার করতে পারে ?

উদাহরণ:

function! MyFunction(someArg)
   normal! (a:someArg)l
endfunction

এটি কার্সারটি someArgধাপে ডানে সরানো উচিত ।


4
আপনার ব্যবহার করতে হবেexe "norm!" variable
খ্রিস্টান ব্র্যাব্যান্ড

উত্তর:


21

executeফাংশন আর্গুমেন্ট হিসাবে একটি স্ট্রিং লাগে, এটা স্ট্রিং বিস্তৃতি এবং এটি এএ নিয়মিত প্রাক্তন কমান্ডটি প্রয়োগ করুন। সুতরাং আপনি এটি করতে পারেন:

function! MyFunction(someArg) 
    execute "normal! ". a:someArg. "l" 
endfunction

.CONCATENATE স্ট্রিং করার জন্য একটি মান vimscript অপারেটর।

executeসংক্ষিপ্ত করা যেতে পারে exe

দেখা :h :execute


সম্পাদনা করুন আমি ক্রিস্টিয়ান ব্রাব্যান্ডের সাথে ক এর সাথে একটি কনক্রিটেশন সম্পর্কে মন্তব্য সম্পর্কে একটি পয়েন্ট যুক্ত করব .

ডক বলেছেন:

একাধিক যুক্তি সংক্ষিপ্ত করা হয়, এর মাঝে একটি স্থান থাকে। অতিরিক্ত স্থান এড়াতে "" ব্যবহার করুন। অপারেটর একটি যুক্তিতে স্ট্রিংগুলি সংহত করতে।

সুতরাং আদেশটি হতে পারে:

execute "normal!" a:someArg . "l"

সম্পাদিত আদেশটি হ'ল:

normal! 2l

8
আপনার দরকার নেই উদাহরণ ছাড়াই একটি স্পেসের সাথে স্ট্রিংগুলি যুক্ত করে তুলবে।
খ্রিস্টান ব্র্যাব্যান্ড

1
@ ক্রিশ্চিয়ানব্রাব্যান্ড সিরিয়াসলি অপেক্ষা করবেন? আমি যে জানি না।
Tumbler41

@ ক্রিশ্চিয়ান ব্র্যাব্যান্ড আমি জানি না যে ধন্যবাদ!
স্ট্যাটক্স
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.