আমি কীভাবে কেবল ডিপি করব বা কেবল লাইনগুলি করব, ভিমে সম্পূর্ণ ব্লকটি পৃথক নয়?


28

আমি বর্তমানে ম্যাকভিম (স্ন্যাপশট 64৪) "স্প্লিট ডিফ বাই বাই ..." মেনু বিকল্পটি ব্যবহার করছি।

ফাইলটি জাজানো আমার settings.pymy.৩.১ সংস্করণ থেকে ১.৪ সংস্করণ থেকে একটি নতুন ফাইল।

স্ক্রিনশট

আমি দুটি বেসিক কমান্ড জানি

  1. do অন্য দিক থেকে একটি ব্লক "প্রাপ্ত" (এবং প্রতিস্থাপন) করতে।
  2. dp অন্যদিকে একটি ব্লক "লাগাতে" (এবং প্রতিস্থাপন) করতে।

তবে এই দুটি কমান্ড পুরো ব্লকটি লিখেছেন, যা ম্যাকভিমে রক্তবর্ণের হাইলাইট।

আপনি যদি ২ য় ব্লকের দিকে লক্ষ্য করেন তবে দেখতে পাবেন যে লাইন 2 এবং 3 এর মধ্যে কেবল 2 টি শব্দ পৃথক: mysiteএবং hobbes3। আমি কেবল প্রতি লাইনে প্রতিস্থাপন করতে চাই না পুরো ব্লক।

সুতরাং একটি সম্পূর্ণ ব্লকের বিপরীতে ডু doএবং dpপ্রতি লাইন প্রতিস্থাপনের জন্য কোন আদেশ আছে বা আমাকে নিজে নিজে এটি টাইপ করতে হবে?

বোনাস প্রশ্ন : আমি লক্ষ্য করেছি যে একবার আমি নিজে কোনও ব্লক সম্পাদনা করি, তখন আমি বেগুনি হাইলাইটিং হারাতে পারি। ফাইলটি আবার খোলা না রেখে হাইলাইটগুলি অন্তর্ভুক্ত করার জন্য আমি কীভাবে আবার আলাদা করে "রিফ্রেশ" করব?

উত্তরগুলি ম্যাকভিম-নির্দিষ্ট বিরোধী হিসাবে ভিম-জেনারেলগুলিতে রাখার চেষ্টা করুন।

উত্তর:


30

এটি করার বিভিন্ন উপায় রয়েছে।

  1. গন্তব্য বাফারে লাইনের পরিসীমা নির্বাচন করুন যা আপনি উত্স বাফার থেকে পেতে এবং ব্যবহার করতে চান :diffget। উদাহরণস্বরূপ, আপনি এর সাথে লাইনগুলির একটি পরিসীমাটি দৃশ্যত-নির্বাচন করতে পারেন V, তারপরে টাইপ করুন :diffget
  2. আপনি গন্তব্য বাফার এবং ব্যবহার করতে চান উত্স বাফার লাইন পরিসীমা নির্বাচন করুন :diffput। উদাহরণস্বরূপ, অন্যান্য বাফারে বর্তমান লাইনটি লিখতে টাইপ করুন :.diffput
  3. ইয়াঙ্ক এবং পুট ব্যবহার করুন। আপনি গন্তব্য বাফারে অনুলিপি করতে চান এমন সোর্স বাফারে রেখাগুলি নির্বাচন করুন, তাদের ব্যবহার করে ইঙ্ক করুন Y, কার্সারটি গন্তব্য বাফারে সরান এবং যেখানে আপনি চান সেগুলি সেখানে রেখে দিন pবা Pআপনি চান না এমন লাইনগুলি মুছুন।
  4. ইয়াঙ্ক উপরের মতো, তবে গন্তব্য বাফারে, আপনি প্রতিস্থাপন করতে চান এমন রেখার পরিসীমাটি দৃশ্যত-নির্বাচন করুন (অগত্যা একই লাইনের সংখ্যা নয়) এবং টাইপ করুন "0p। এটি 0 (শূন্য) নিবন্ধ ব্যবহার করে যা সর্বদা সাম্প্রতিক ইয়াঙ্কের পাঠ্য থাকে।

সঠিক হাইলাইটিং, এক্সিকিউট :diffupdateবা সহজভাবে প্রদর্শন করতে ডিসপ্লেটিকে "রিফ্রেশ" করতে :diffu। কখনও কখনও এটি পর্যাপ্ত হয় না এবং আপনাকে রিফ্রেশ করার জন্য অন্যান্য উইন্ডোতে কার্সারটি সরানো দরকার।

আপনি বিভিন্ন অনুলিপি অনুলিপি সম্পর্কে আরও পড়তে পারেন

:help copy-diffs

3

আমি একটি ডিফের সময় একটি নির্দিষ্ট মুহুর্তে একটি লাইন পরিবর্তন করতে চেয়েছিলাম। তাই আমি একটি সাধারণ মানচিত্র তৈরি করেছি এবং সেগুলি আমার ভিআরসিআর ফাইলটিতে রেখেছি।

nnoremap <silent> <leader>dp V:diffput<cr>
nnoremap <silent> <leader>dg V:diffget<cr>

আপনি ডিজির পরিবর্তে কর ব্যবহার করতে পারেন, তবে আমি [ও] বিটনের পরিবর্তে "ডিফগেট" ভাবতে বেশি অভ্যস্ত।

আপনার বোনাসের জন্য, আমি কেবল দুটি সাধারণ মানচিত্র দু'বার ব্যবহার করেছি:

nnoremap <silent> <leader>df :call DiffToggle()<CR>

এখন, ডিএফ ডিফমোডটি চালু / চালু হবে, সুতরাং আমি কেবল এটি বন্ধ করে ফিরে করব।

এবং একটি বোনাস বিকল্প যুক্ত করা হয়

nmap <silent> <leader>du :wincmd w<cr>:normal u<cr>:wincmd w<cr>

এটি আপনাকে অন্য ফাইল / উইন্ডোতে টাইপ বা অবাঞ্ছিত পরিবর্তনটি পূর্বাবস্থায় ফেরানোর অনুমতি দেবে, কারণ: কেবলমাত্র ইউ এর পূর্বাবস্থায় উপস্থিত উইন্ডোতে থাকা পরিবর্তনটি পূর্বাবস্থায় ফিরে যাবে।

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