গিট রেপোতে উপস্থিত কোনও ফাইল সম্পাদনা করার সময় আমি কি ভিএমকে নোসোপফায়াল সেট করতে কনফিগার করতে পারি?


0

যদি কোনও গিট রেপোতে ফাইল বিদ্যমান থাকে তবে প্রদত্ত বাফারের জন্য আমি ভিএম এপিআই এবং সুবিধা কীভাবে ভিআইএম সোয়াফফিল (লুকানো পুনরুদ্ধার ফাইল) অক্ষম করতে পারি?

গিট রিপোর অভ্যন্তরে আমি একটি অটোস্যাভ প্লাগইন সক্ষম করতে চাই, যেহেতু আমার দুর্ঘটনাজনিত পরিবর্তনগুলি সংরক্ষণের বিষয়ে চিন্তা করার দরকার নেই। তবে গিট रिपোর বাইরের অন্যান্য বাফারদের জন্য আমি অটোসভেটি দুর্ঘটনাক্রমে ফাইলগুলি সংশোধন করতে চাই না এবং আমি ভিআইএম পুনরুদ্ধার ফাইলটি রাখতে চাই।

আমি মনে করি ভিআইএম প্লাগইন প্রোগ্রামিংয়ের সাথে পরিচিত হওয়ার জন্য এটি একটি দুর্দান্ত প্লাগইন প্রোগ্রামিংয়ের কাজ তবে যদি কেউ মোটামুটিভাবে আমার কী পদ্ধতি গ্রহণ করা উচিত তা জানেন তবে আমি এটির প্রশংসা করব

উত্তর:


1

সোয়াপফাইলে অক্ষম করা হচ্ছে

বিদ্যমান বাফারগুলির জন্য, আপনি এটি করতে পারেন :setlocal noswapfile। এটি যে কোনও বিদ্যমান মুছে ফেলবে এবং পুনরুদ্ধার বন্ধ করবে। নতুন বাফারগুলি খোলার সময়, আপনি সরাসরি পুনরায় চাপও দিতে পারেন:noswapfile edit ...

গিট সংগ্রহস্থল সনাক্ত করা হচ্ছে

আপনি যদি সর্বদা গিট রুট ডিরেক্টরি থেকে ভিম খুলেন তবে এটি এতটা সহজ হতে পারে isdirectory('.git')। অন্যথায়, আপনাকে পিতামাতার ডিরেক্টরিগুলিও পরীক্ষা করতে হবে:

let gitDirspec = finddir('.git', '.;')
let isGitRepo = !empty(gitDirspec)

বিকল্পভাবে, vcscommand.vim প্লাগইন বিভিন্ন সংশোধন নিয়ন্ত্রণ সিস্টেমের ধরণের (তাদের মধ্যে গিট) সনাক্তকরণ সরবরাহ করে:

let isGitRepo = VCSCommandGetVCSType('') ==? 'git'

এটি হুঁক আপ

আপনার যদি গিট সংগ্রহস্থলের একটি স্থিতিশীল তালিকা থাকে তবে আপনি সরাসরি :autocmdফাইলস্পেক নিদর্শনগুলিতে পাথগুলি রাখতে পারেন :

:autocmd BufNew,BufRead /path/to/repo1/**,/path/to/repo2/** setlocal noswapfile

সনাক্তকরণ চালানোর জন্য, আমাদের প্রতিটি খোলা ফাইলটিতে অটোকিম্ড চালাতে হবে:

:autocmd BufNew,BufRead * if VCSCommandGetVCSType('') ==? 'git' | setlocal noswapfile | endif
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.