ভিম: একাধিক লাইনের শেষে পাঠ্যের ব্লকটি কীভাবে পেস্ট করবেন?


32

বলুন আমার কাছে এই জাতীয় পাঠ্যের একটি ব্লক রয়েছে:

// মন্তব্য 1
// মন্তব্য 2
// মন্তব্য 3

এবং আমি এই প্রতিটি লাইন 3 টি কোডের সাথে সম্পর্কিত লাইনগুলির শেষে যুক্ত করতে চাই:

foo = 1;
বার = 2;
বাজ = 3;

যাতে শেষ ফলাফল হয়

foo = 1; // মন্তব্য 1
বার = 2; // মন্তব্য 2
বাজ = 3; // মন্তব্য 3

ভিমে এটি করার কোনও সহজ উপায় আছে?


@ ফ্লিমজি, দুর্ভাগ্যক্রমে না। সময়ে সময়ে আপনার মতামত ভিম প্রশ্নগুলিতে উপস্থিত হয় তবে এটি দেখুন: meta.stackexchange.com/q/25925/160504
সিডিল

এই প্রশ্নের জন্য আরও ভাল সম্প্রদায়টি হ'ল vi.stackex
بدل.

উত্তর:


36

লাইনের একটি সেট নির্বাচন করতে ভিজ্যুয়াল ব্লক মোড ( Ctrl+ v) ব্যবহার করুন, তারপরে yঅথবা dসেগুলি or

তারপরে, যদি আপনি foo, বার, বাজ লাইনগুলি নির্বাচিত করেন তবে মন্তব্য লাইনের প্রথম কলামটি নির্বাচন করতে আবার ভিজ্যুয়াল ব্লক মোড ব্যবহার করুন এবং সেগুলি পরে Shift+ pস্থানে স্থাপন করুন (অথবা যদি আপনি মন্তব্য লাইনগুলি নির্বাচন করেছেন, foo বার বাজের শেষ কলামটি নির্বাচন করুন লাইন এবং pতাদের জায়গায়।

পজিশনিং এর হ্যাং পাওয়া কিছুটা অনুশীলন করতে পারে তবে আপনি যখন নক পেয়েছেন তখন আপনি উড়ে যাবেন। আপনি যখন একটি ব্লক নির্বাচিত পেয়েছেন তখন আপনি ব্লকটিতে যেমন স্পেস যুক্ত করতে Shift+ ব্যবহার করতে পারেন A(সংযোজন করার সময়, নতুন পাঠ্যটি কেবল উপরের লাইনে প্রদর্শিত হবে, তবে আপনি এসকে চাপলে এটি নির্বাচিত সমস্ত লাইনে জাদুকরভাবে উপস্থিত হবে) । একইভাবে, প্রতিটি লাইনে নির্বাচিত ব্লকের শুরুতে Shift+ iএকই কাজ করবে।

পরে আপনাকে খালি লাইনগুলি পরিষ্কার করতে হবে।

আরও দুর্দান্তভাবে এই কৌশলগুলি দেখানোর একটি দুর্দান্ত ভিমকাস্ট পর্ব রয়েছে


1
আমি এই সমাধানটিকে :set ve=allখুব বহুমুখী বলে মনে করি। আমি ব্যক্তিগতভাবে শর্তহীন পাস্ত প্লাগইন ( vim.org/scriptts/script.php?script_id=3355 ) ব্যবহার করি কারণ এটি আমার প্রয়োজনটি আরও কিছুটা ভাল ফিট করে।
পিটার রিঙ্কার

1

ঠিক আছে, যদি এটি সহজ হয় বা না হয়, আপনি আমাকে বলুন। নেভিগেট করুন // Comment 1, ddমুছতে হিট করুন। লাইনের সাথে নেভিগেট করুন এবং লাইনের নীচে পেস্ট করতে foo = 1;হিট করুন pfooআবার উপরে যান এবং Jসারিটিতে যোগ দিতে আঘাত করুন hit Tada।


0

নীচে আপনি বর্ণিত ঠিক কি করবে:

:%s@\(\w\s\+=\s\+\(\d\+\)\)@\=submatch(1) . " // Comment" . submatch(2)@

বাস্তবে আপনার কী করা দরকার (উদাহরণের বিপরীতে) এর উপর নির্ভর করে, বাস্তবে, "// মন্তব্য 1" ইত্যাদি ব্লক ( Ctrlv), ইয়ঙ্ক ( y) কোডের শেষে যেতে ব্লক-নির্বাচন করা আরও সহজ হতে পারে , ব্লক এবং পেস্ট করুন।

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