একটি লাইনের মধ্যে আরও বিস্তারিত তুলনা


17

আমি vimdiffফাইলগুলির মধ্যে পার্থক্যগুলি পরিদর্শন করতে ব্যবহার করি এবং কিছু সময় এটি কিছুটা বাদ দেয়। উদাহরণস্বরূপ, যদি আমার কাছে নিম্নলিখিত দুটি ফাইল থাকে:

//a.c
printf("Hello\n");

এবং:

//b.c
int i = printf("hello\n") + 3;

এগুলি vimdiffপ্রদান করে:

এখানে চিত্র বর্ণনা লিখুন

আমি যা দেখতে চাই তা হ'ল বিসি- hতে মূলধন হয় না।

এর কোনও অংশের (এই লাইনে) তুলনা করতে ভিমডিফকে বলার কোনও উপায় আছে (মানে, এবং এটিকে উপেক্ষা int i =করুন + 3)?


4
Diffchar প্লাগইন সম্ভবত কি প্রয়োজন কিন্তু আমি এটা দিয়ে শূন্য অভিজ্ঞতা থাকতে হয়। সম্ভবত এটির অভিজ্ঞতা সহ কেউ একটি ভাল, বিস্তারিত উত্তর দিতে পারে (বা সম্ভবত কোনও বিকল্প)।
টোকয়ামি

উত্তর:


15

আমি ভিম নিজেই এটি করতে পারে বলে মনে করি না। থেকে :h view-diffs(জোর দেওয়া খনি):

এইচএল-ডিফফেক্সট ডিফ্ট টেক্সট একটি পরিবর্তিত লাইনের অভ্যন্তরে পরিবর্তিত পাঠ্য।  তেজ
                                প্রথম চরিত্রটি আলাদা যেটি আবিষ্কার করে,
                                এবং শেষ চরিত্রটি আলাদা
                                (লাইনের শেষ থেকে অনুসন্ধান করা)।   দ্য
                                মাঝে পাঠ্য হাইলাইট করা হয়।  এর অর্থ
                                মাঝখানে যে অংশগুলি এখনও আছে
                                একইভাবে যাইহোক হাইলাইট করা হয়।   কেবলমাত্র "আইভাইট"
                                'ডিফফ্ট' এখানে ব্যবহৃত হয়।

টোকোয়ামির পরামর্শ আমাদের এক ধাপ আরও কাছে নিয়েছে। ইনস্টল করুন diffchar( প্লাগইন অটোলোডার ব্যবহারকারীদের জন্য গিথুব লিঙ্ক )। V4.7 যেহেতু প্লাগইন সক্ষম হয়েছে, ভিম স্বয়ংক্রিয়ভাবে আরও সঠিক পার্থক্য দেখায়:

এখানে চিত্র বর্ণনা লিখুন

  • আপনি F7স্বাভাবিক এবং প্লাগইনের মধ্যে টগল করতে (ডিফল্ট কীম্যাপ) টিপতে পারেন । এর সাথে পুনরায় নিয়োগ করুন:

    nmap <silent> <key> <Plug>ToggleDiffCharAllLines
    

    <key>একটি উপযুক্ত কী কোড দিয়ে প্রতিস্থাপন করা হচ্ছে ।

  • আপনি আরও রং ব্যবহার করতে পারেন:

    let g:DiffColors=100
    

+1 তবে "এক ধাপ কাছাকাছি" আমার কাছে অত্যধিক রক্ষণশীল মনে হয়। ডিফচার এই সমস্যাটি সম্পূর্ণরূপে সমাধান করে আইএমও।
স্পারহাক

@ স্পারহাক ভাল, এটি একটি লাইনে সাধারণ উপাদানগুলিকে উপেক্ষা করে না (ওপি কেবল পরিবর্তনগুলি হাইলাইট করতে চায়)
মারু

আমি নিশ্চিত যে আমি বুঝতে পারি না। এই উদাহরণগুলিতে (যেমন printfএবং ello) সাধারণ উপাদানগুলি উপেক্ষা করা হয় না ?
স্পারহাক

1
@ স্পারহাক এই উদাহরণে হ্যাঁ। তবে আরও জটিল পরিবর্তনগুলির সাথে এটি দ্রুত অগোছালো হয়ে যায়।
মুরু

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