আমি নিম্নলিখিত অনুসরণ করার চেষ্টা করেছি:
VI ম সম্পাদকের নির্বাচিত পাঠ্য কীভাবে মুছবেন
কিন্তু
5dd
দেয়
E492: সম্পাদক কমান্ড নয়: 5 ডিডি
আমি তখন চেষ্টা করেছি:
5d
যা কেবল একটি একক লাইন মুছে দেয়। আমি কীভাবে একাধিক লাইন মুছতে পারি?
আমি নিম্নলিখিত অনুসরণ করার চেষ্টা করেছি:
VI ম সম্পাদকের নির্বাচিত পাঠ্য কীভাবে মুছবেন
কিন্তু
5dd
দেয়
E492: সম্পাদক কমান্ড নয়: 5 ডিডি
আমি তখন চেষ্টা করেছি:
5d
যা কেবল একটি একক লাইন মুছে দেয়। আমি কীভাবে একাধিক লাইন মুছতে পারি?
উত্তর:
আপনি কমান্ড মোডে কমান্ডগুলি প্রবেশ করানোর মতো শোনায় (যেমন "প্রাক্তন মোড")। সেই প্রসঙ্গে :5d
5 নম্বর লাইনটি সরিয়ে ফেলবে, অন্য কিছুই নয়। জন্য 5dd
যে, পাঁচ অনুবর্তী লাইন কার্সার থেকে শুরু অপসারণ - - অভিপ্রেত হিসেবে কাজ করতে স্বাভাবিক মোডে প্রবেশ এবং কমান্ড পূর্বে ভী না :
।
আমি এটি সহজ খুঁজে
/superuser/170795/how-can-i-select-and-delete-lines-of-text-in-vi
আপনি যদি লাইন নম্বরগুলি জানেন তবে আপনি একাধিক (সীমা) লাইন মুছতে পারেন:
:[start_line_no],[end_line_no]d
দ্রষ্টব্য: d মুছে ফেলার জন্য দাঁড়িয়েছে
যেখানে,
start_line_no হ'ল প্রারম্ভিক লাইন নয় আপনি মুছে ফেলতে চান এবং শেষ_লাইন_এমন শেষ লাইনের কোনওটি আপনি মুছতে চান না। শুরু এবং শেষ সহ প্রারম্ভ এবং শেষের মধ্যবর্তী লাইনগুলি মুছে ফেলা হবে।
উদাহরণ:
:45,101d
45 এবং 101 সহ 45 এবং 101 এর মধ্যে থাকা লাইনগুলি মুছে ফেলা হবে।
$
ফাইলটিতেও শেষ লাইনটি চিহ্নিত করতে ব্যবহার করতে পারেন । সুতরাং :45,$d
45 থেকে শেষ পর্যন্ত প্রতিটি লাইন মুছে ফেলবে।
/<\/div>/
:.,[end_line_no]d
সাধারণ মোডে ব্যবহারের জন্য তালিকাভুক্ত কমান্ডগুলি ( :কমান্ড মোডের জন্য উপসর্গ )।
ভিম পরীক্ষিত।
লাইন পরিমাণ অনুসারে:
লাইন সংখ্যা অনুসারে:
Backwards range given, OK to swap (y/n)?
আপনি যদি অ-ভিজ্যুয়াল মোড পদ্ধতিটি পছন্দ করেন এবং লাইন নম্বরগুলি স্বীকার করেন তবে আমি আপনাকে অন্য একটি সহজ সরল উপায় প্রস্তাব করতে চাই।
উদাহরণ
আমি পাঠ্যটি লাইন 45 থেকে লাইন 101 এ মুছতে চাই।
আমার পদ্ধতি আপনাকে কমান্ড-মোডে নীচের কমান্ডটি টাইপ করতে পরামর্শ দেয়:
45Gd101G
এতে লেখা আছে:
45 লাইনে (
45G
) তারপরেd
বর্তমান লাইন থেকে 101 (101G
) রেখায় পাঠ্য ( ) মুছুন ।
নোট করুন যে আপনি স্থিরভাবে vim
ব্যবহার করতে পারেন ।gg
G
@ বনি ভার্গিজের উত্তরের সাথে তুলনা করুন যা:
:45,101d[enter]
তার উত্তর থেকে উপরের কমান্ডটিতে 9 বার সহ টাইপ করা আবশ্যক enter, যেখানে আমার উত্তরটির জন্য 8 - 10 বার টাইপ করা প্রয়োজন। সুতরাং, আমার পদ্ধতির একটি গতি তুলনাযোগ্য।
ব্যক্তিগতভাবে, আমি নিজেই 45Gd101G
বেশি পছন্দ করি :45,101d
কারণ আমি vi এর কমান্ডের বাক্য গঠনকে আঁকতে পছন্দ করি , এই ক্ষেত্রে:
+---------+----------+--------------------+
| syntax | <motion> | <operator><motion> |
+---------+----------+--------------------+
| command | 45G | d101G |
+---------+----------+--------------------+
Escআপনি কোনও সম্পাদনা মোডে নেই তা নিশ্চিত করতে কী টিপুন । মুছে ফেলার জন্য প্রথম লাইনটিতে কার্সারটি রাখুন। প্রবেশ করুন :5dd
। বর্তমান লাইন এবং পরবর্তী চারটি লাইন মুছে ফেলা উচিত।
পর্যায়ক্রমে, আপনার যদি লাইন নম্বরটি চালু থাকে ...
Escআপনি কোনও সম্পাদনা মোডে নেই তা নিশ্চিত করতে কী টিপুন । :#,#d
যেখানে '#' মুছে ফেলার জন্য শুরু এবং শেষের লাইন নম্বরগুলি দাঁড়িয়ে থাকে সেখানে প্রবেশ করান ।
টাইপ করুন (সংখ্যাযুক্ত রেখার জন্য)।:set number
নির্দিষ্ট লাইন ট্রিগারের পরে আপনি যদি কোনও ব্যাপ্তি মুছতে চান তবে আপনি এই জাতীয় কিছু ব্যবহার করতে পারেন
:g/^TMPDIR/ :.,+11d
এটি প্রতিটি লড়াইয়ের পরে 11 টি লাইন (অন্তর্ভুক্ত) মুছে দেয় ^TMPDIR
।
সমস্ত লাইন ব্যবহার করতে মুছে ফেলতে - ESC gg dG কয়েকটি লাইন মুছে ফেলতে 5 বলে আসুন ESC 5dd ব্যবহার করুন
এটি নিম্নলিখিত হিসাবে করা যেতে পারে ..