আপনার ব্যবহার করা উচিত getpos()
:
একটি ভেরিয়েবল আপনার অবস্থান সংরক্ষণ করতে:
let save_pos = getpos(".")
getpos()
আর্গুমেন্ট হিসাবে চিহ্নিত করে একটি চিহ্ন, এখানে "."
আপনার কার্সারের বর্তমান অবস্থান প্রতিনিধিত্ব করে।
এবং এটি পুনরুদ্ধার করতে:
call setpos('.', save_pos)
এখানে প্রথম যুক্তি নির্দেশ করে যে আপনি আপনার কার্সারের বর্তমান অবস্থানের চিহ্নটি স্থানান্তরিত করবেন (সুতরাং আপনার বর্তমান অবস্থান) এবং দ্বিতীয়টি যেখানে চিহ্নটি রাখবেন (আপনি যে অবস্থানটি আগে সংরক্ষণ করেছিলেন)।
আপনার ফাংশনটি দেখতে এই রকম হবে:
function! DollarSplit()
let save_pos = getpos(".")
normal! 6|r$ " replaces the 6th caracter in line with a $
call setpos(".", save_pos)
endfunction
আরও তথ্যের জন্য দেখুন: :h getpos()
এবং:h setpos()
আপনার ব্যবহার সম্পর্কে আরও তথ্যের জন্য execute
: এই ফাংশনটি একটি স্ট্রিং নেবে এবং এটি সম্পাদন করবে। আপনার স্ট্রিংটি কেবল ডাবল কোট বা ভেরিয়েবলের সামগ্রীর মধ্যে হার্ডকডযুক্ত অক্ষর হতে পারে।
আপনি যখন লিখুন
execute col_number."|"
আপনি যদি 12 তম কলামে থাকেন তবে প্রসারিত স্ট্রিংটি হবে 12|
। এক্সিকিউটটি এই কমান্ডটি কার্যকর করার চেষ্টা করবে তবে এটি কার্যকর হবে না কারণ 12|
একটি উইমস্ক্রিপ্ট ফাংশন নয় তবে একটি সাধারণ মোড কমান্ড।
এটি একটি উইমস্ক্রিপ্ট থেকে চালানোর জন্য আপনাকে বলতে হবে "এটিকে এক্সিকিউট করুন যেন আমি এটি সাধারণ মোডে টাইপ করে ফেলেছি`, এটিই সাধারণ জন্য ব্যবহৃত হয়।
সুতরাং মৃত্যুদণ্ড কার্যকর না করে আপনি লিখেছেন:
normal 12|
আপনার execute
কলকে কাজ করতে এখন normal
আপনার প্রসারিত স্ট্রিংয়ে কীওয়ার্ডটি যুক্ত করতে হবে:
execute "normal " . col_number . "|"