এটি ওপি যা বলেছিল তার চেয়ে কিছুটা বেশি বিস্তৃত, তবে লোকেরা প্লাগইন এবং সম্ভবত অন্যান্য সংশোধন নিয়ন্ত্রণ ব্যবস্থা ব্যবহার করতে চায় না তাদের পক্ষে এই ছোট স্নিপেট মোটামুটি ভালভাবে কাজ করার ঝোঁক রয়েছে:
:new
:r! git show branch:file
:1d
এটি একটি নতুন উইন্ডো তৈরি করে এবং সেখানে প্রদত্ত কমান্ডের আউটপুটটি নতুন বাফারে পড়ে ফাইলটি দেখায়। এটি অবশ্যই গিট নয়, কোনও বাহ্যিক কমান্ড নিয়ে কাজ করে।
Bzr এর উদাহরণ (যেখানে REV বাক্য গঠনটি একটি শাখা নির্দিষ্ট করতে পারে):
:new
:r! bzr cat -r REV file
:1d
এইচজি জন্য উদাহরণ (এইচজি মধ্যে শাখা সম্পর্কে নিশ্চিত না; যথেষ্ট পরিমাণে এটি ব্যবহার করবেন না)
:new
:r! hg cat -r REV file
:1d
এসএনএন এর উদাহরণ (
:new
:r! svn cat file@REV
:1d
আপনি সম্ভবত এসও পোস্টগুলির মতো সিনট্যাক্স হাইলাইট করার জন্য ফাইল টাইপ সেট করতে চান তবে কমপক্ষে আপনাকে পাইপিংয়ের সাথে ঝামেলা করতে হবে না।
একবার খোলার পরে আপনি এটিকে একটি নতুন নামে :w filename
বা এটির সাথে সংরক্ষণ করতে পারবেন :saveas filename
, যেহেতু ভিমের কাছে এটির জন্য এখনও কোনও ফাইল নাম থাকবে না। আপনি যদি এটি সম্পাদনা করতে সক্ষম না হতে চান তবে আপনি একটি :setlocal readonly
এবং / অথবা এও দিতে পারেন :setlocal nomodifiable
।
-সম্পাদনা: স্বয়ংক্রিয় ফাইল টাইপ-
এটি কিছুটা বেশি কাজ, তবে আপনি ভিমকে ফাইল টাইপের সাথে অনুমান করতে বলতে পারেন
:filetype detect
তবে, যেহেতু ভিমের এখনও কোনও নাম নেই, এটি সর্বদা ভাল কাজ করে না (উদাহরণস্বরূপ, আমি কিছু সি কোড এনেছি এবং এটি অনুমান করে filtype=conf
।
আমরা এটি সংরক্ষণ করে একটি নাম দিতে পারি, তবে আমরা সম্ভবত বিদ্যমান ফাইলটি ওভাররাইট করতে চাই না। আমরা কেবল ফাইলের নাম সেট করতে পারি (ধন্যবাদ @ পিটারআরঙ্কার!), তবে আবার আমরা সংঘর্ষের ঝুঁকি নিতে চাই না। যেহেতু কোনও ফাইলের শাখা নাম এবং ফাইলের নাম দুটোই এক সাথে থাকার সম্ভাবনা কম, তাই আমরা তাদেরকে কিছু কিছু বিচ্ছিন্ন বিভাজক দিয়ে সম্মতি জানাব
:exe "silent file " . "branch" . "-" . "file"
:filetype detect
যেখানে "file"
প্রকৃত ফাইলের নাম এবং "branch"
শাখার নাম দিয়ে প্রতিস্থাপন করা হয়েছে
অবশ্যই, এই মুহুর্তে আমরা প্রায় একটি প্লাগইন লিখছি ;-)
এগুলি একসাথে ছুঁড়ে ফেলা হচ্ছে, এটি এখানে গিট নির্দিষ্ট ফাংশন হিসাবে আপনি আপনার ভিএমআরসিতে ফেলে দিতে পারেন:
function! GitFile(branch,file)
new
exe "silent r! git show " . a:branch . ":" . a:file
1d
exe "silent file " . a:branch . "-" . a:file
filetype detect
setlocal readonly "don't allow saving
setlocal nomodified "allow easy quitting without saving
setlocal nomodifiable "don't allow modification
endfunction
আপনি কমান্ড মধ্যে মোড়ানো বা সরাসরি যেমন বলতে পেরেছিলাম call GitFile("whateverBranch","myfile.c")
। আপনি নামের সাথে বাফার সহ একটি নতুন উইন্ডো পাবেনwhateverBranch-myfile.c