কমান্ড লাইন মোডে আমি কীভাবে আপেক্ষিক লাইন নম্বর ব্যবহার করব?


16

সম্প্রতি আমি প্রাকটিক্যাল ভিমের কাছ থেকে কার্সারটিকে বর্তমান অবস্থান থেকে সরিয়ে না রেখে কপির জন্য বা লাইনের ব্লকগুলি সরিয়ে নেওয়ার একটি উপায় শিখেছি । এটি কমান্ড লাইন মোডে করা হয়। যেমন

:123,133m.  # moves lines from 123 to 133 below the cursor position.

আমার পছন্দ হওয়ার পরেও লম্বা লাইন নম্বর টাইপ করা খুব কষ্টকর, বিশেষত যখন ফাইলটির অনেক বেশি লাইন থাকে।

অনেক সময় সরানোর জন্য লাইনগুলি তুলনামূলকভাবে কার্সারের কাছাকাছি থাকে (তবে আমি আমার কার্সারটি সরানো চাই না, ইয়াঙ্ক, যেখানে ছিলাম সেখানে ফিরে আসি, পেস্ট করুন!)। এটি দুর্দান্ত হবে যদি আমি আপেক্ষিক সংখ্যাগুলি ব্যবহার করতে পারি, যেমনটি আমরা সাধারণ মোডে করি to এটা বলার মতো

5 লাইন যা এখানে বর্তমান লাইনের উপরে 10 লাইন আছে সরান

সংক্ষেপে, কমান্ড লাইন মোডে (সাধারণ মোডের অনুরূপ) আপেক্ষিক সংখ্যাগুলি কীভাবে ব্যবহার করবেন?

উত্তর:


23

আপনার রেখাগুলি বর্তমানের 15 থেকে 10 লাইন বিস্তৃত ধরে ধরে আপনি আপেক্ষিক লাইন নম্বর ব্যবহার করে যা অনুরোধ করেছেন তা অর্জন করতে পারেন:

:-10,-15m.

দুর্ভাগ্যক্রমে পিছনের দিকের সীমা নির্দিষ্ট করার সময়, ভিম আপনাকে সত্যই এটি চেয়েছিল কিনা তা নিশ্চিত করতে জিজ্ঞাসা করে। নিশ্চিতকরণ পদক্ষেপ এড়ানোর জন্য, আপনি silentআপনার আদেশের আগে টাইপ করতে পারেন , বা কেবল একটি ফরওয়ার্ডস রেঞ্জ নির্দিষ্ট করতে পারেন :

:-15,-10m.

আপনি যেমনটি আশা +করতে পারেন বর্তমানের নীচের লাইনের উল্লেখ করতে ব্যবহার করা যেতে পারে।

বিস্তারিত সাহায্য এর সাথে পাওয়া যাবে:

:help cmdline-ranges

1
তবে আমি কখনও এই বৈশিষ্ট্যটি ব্যবহার করি নি। আমি কি 15k d5j 10j P
জোয়েটউইলড

পার্থক্যটি হ'ল 15k, 5j কমান্ড মোডে কাজ করে এবং উত্তরে যেটি ব্যাখ্যা করা হয়েছে তা সন্নিবেশ মোডে রয়েছে। সুতরাং মোডের উপর ভিত্তি করে আমরা উপযুক্তটি চয়ন করতে পারি। সন্নিবেশ মোডে কমান্ডগুলি সাধারণত অন্যান্য কমান্ডগুলি চালনার জন্য নির্বাচনের মানদণ্ড।
সোনারারজন

12

আপনি আপনার পরিসীমাটিতে হার্ড নম্বরগুলি ব্যবহার করতে পারেন:

:200,300command

বা আপেক্ষিক সংখ্যা:

:-27,+46command

বা ম্যানুয়াল চিহ্নগুলি:

:'a,'bcommand

বা স্বয়ংক্রিয় চিহ্নগুলি:

:'[,'>command

বা অনুসন্ধানগুলি:

:?foo?,/bar/command

বা লাইনের শর্টকাটগুলি:

:.,$command

বা উপরের কৌশলগুলির কোনও সংমিশ্রণ:

:?foo?,+46command
:'a,$command
...

3

আপনি .-10,.+3কোনও প্রাক্তন কমান্ড, সিপির সাহায্যে আপেক্ষিক ঠিকানা (উদাহরণস্বরূপ ) ব্যবহার করতে পারেন । :help :range

বিকল্পভাবে, আমার লাইনজাগলার প্লাগইনটি দেখুন ; এটি লাইনগুলি চারপাশে সরাতে বা তাদের সদৃশ করতে কয়েকটি সংক্ষিপ্ত ম্যাপিং সরবরাহ করে এবং এই সমস্ত ম্যাপিং আপসেট লাইন হিসাবে অফসেট নেয় [count]

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