আপনি নিম্নলিখিত সমাধানটি ব্যবহার করতে পারেন:
v$কার্সার থেকে রেখার শেষ পর্যন্ত পাঠ্য নির্বাচন করতে প্রথমে ব্যবহার করুন। তারপরে নিম্নলিখিত কমান্ডটি ব্যবহার করুন:
:s/\%V\ /_/g
\%V
পূর্বে চাক্ষুষরূপে নির্বাচিত এলাকার টেক্সট পরিবর্তন করতে নির্দেশ দেখুন :h /\%V
।
আমি যদি আপনার উদাহরণ নিই:
function my_function(argument, another argument, but there are spaces)
যদি আমার কার্সারটি 40 তম কলামে থাকে এবং আমি সবে লিখেছিলাম যে কমান্ডটি পেয়েছি তা ব্যবহার করি:
function my_function(argument, another argument,_but_there_are_spaces)
আপনার মন্তব্যের উত্তরে আপনিও ব্যবহার করতে পারেন
\%#
যা কার্সার অবস্থান থেকে মেলে
\%>23c
যা 23 তম কলামের পরে মেলে।
\%>'m
যা একটি চিহ্নের অবস্থানের পরে মেলে
দেখুন :h /\%#
, :h /\%>c
এবং :h /\%>'m
।
@ User9433424 \%#
তার মন্তব্যে ব্যবহারের জন্য একটি উপায় দিয়েছেন । চিহ্নযুক্ত প্যাটার্নের জন্য আপনি এটি বুদ্ধি সেট করতে পারেন maএবং তারপরে ব্যবহার করতে পারেন:
:s/\%>'a /_/g
@ ব্যবহারকারী9433424 দ্বারা প্রদত্ত প্যাটার্নটির ব্যাখ্যা নিম্নলিখিত:
:s/\v(%#.*)@<= /_/
:s/ substitution command
\v Enable the very magic mode
%#.* Any characters from the cursor position
@<= Check for matches just before what follows
space Followed by a space
/_/ Substitute the matches by underscores
আপনি দেখতে চান :h \v
এবং:h /\@<=
\%#
। সুতরাং, আপনি ব্যবহার করতে পারে::s/\v(%#.*)@<= /_/g
। যা@<=
কার্সার অবস্থানের পরে ( ) অক্ষরের পূর্বে স্থান হিসাবে বর্ণনা করা যেতে পারে ।