Swp ফাইলগুলিতে সংরক্ষিত পরিবর্তনগুলি রয়েছে কিনা তা কীভাবে সনাক্ত করবেন?


11

সোর্স কোডটি gvim (v.7.4.488) ব্যবহার করে সম্পাদনা করার সময়, আমি কিছু পরিবর্তন করতে চাই vcs (আমি উবুন্টু লিনাক্সের কমান্ড লাইন থেকে git 2.1.4 ব্যবহার করছি)।

git --status

আমি কোন ফাইল পরিবর্তন করেছি তা দেখায়। তবে এটি .*.swpবর্তমানে দৃশ্যমান বাফার (গুলি) এর ভিমও দেখায় (ফাইলটিতে যদি সংরক্ষণ না করা পরিবর্তন থাকে এবং সম্পাদিত ফাইলটি ফাইল-ফাইলের সমান হয় তবে উভয়ই .*.swp)। অবশ্যই, গিট এই ফাইলগুলিকে উপেক্ষা করতে পারে বা ভিআইএম স্ব্যাপ ফাইলগুলিকে অন্য কোনও জায়গায় সংরক্ষণ করতে পারে ( ভিম.উইকিয়া বা এই প্রশ্নটি স্ট্যাকওভারফ্লোতে দেখুন )। তবে আমার পছন্দ হয়েছে যে .*.swpফাইলগুলি git --statusযখন সংরক্ষণে না থাকা পরিবর্তনগুলি ধারণ করে তখন এটি প্রদর্শিত হয়, কারণ এটি আমার ইঙ্গিত দেয় যে আমি ফাইলগুলিতে যা করছি সেগুলি থেকে আমার মনে হয় তার চেয়ে আলাদা different

আমি যখন ফাইলটি .*.swpভিআইএম দিয়ে সম্পাদনা করছি তার চেয়ে আলাদা অবস্থায় আছে git --statusসেভ করা ফাইলটি ফাইল-ফাইলের সমান হলে ফাইল- গুলির মিথ্যা পজিটিভগুলি কীভাবে এড়াতে .*.swpপারি?

  • .*.swpযখন কেবল ডিস্কে ফাইল এবং ভিএম-তে ফাইল আলাদা হয় কেবল তখনই-ফাইলগুলি রাখা কি সম্ভব ?
  • সংরক্ষিত ফাইলগুলি সনাক্ত করার জন্য অন্য কোনও উপায় আছে?

সোয়াপ ফাইলগুলি সংরক্ষিত ফাইলগুলি বোঝায় কিনা তা সনাক্ত করার চেয়ে @ ইলিয়াশিব এবং @ ভ্যানলাসারের মন্তব্যের সংমিশ্রণের ফলে একটি সহজ পদ্ধতির ফলস্বরূপ :

  1. গিটকে * *। sw [po] ফাইলগুলি উপেক্ষা করতে দেবেন না;
  2. প্রতিশ্রুতিবদ্ধ হওয়ার সময়, যদি git --statusকোনও .*.sw[po]ফাইলগুলি :wavi এর মাধ্যমে প্রকাশ করে; এবং,
  3. যুক্ত এবং প্রতিশ্রুতিবদ্ধ।

1
:waকোনও সুরক্ষিত ফাইল নেই তা নিশ্চিত করার জন্য আপনি ব্যবহার করতে পারেন ।
ইলিয়াশিব

2
আপনার আগে আপনার সমস্ত ফাইল সংরক্ষিত হয়েছে তা নিশ্চিত করার জন্য এটি অনেকটা "সানার" git commit...
ভ্যানল্যাসার

উত্তর:


8

vim -rকমান্ড লাইনে বর্তমান ডিরেক্টরি এবং অস্থায়ী ডিরেক্টরিগুলির সমস্ত অদলবদল তালিকাভুক্ত করা হবে এবং এতে কোনও সংরক্ষিত পরিবর্তন রয়েছে কিনা। যে রেখাটি বলছে তা সন্ধান করুন modified: no/YES

আমি কীভাবে ভিমকে অন্য কোনও ডিরেক্টরিতে সন্ধান করতে বলি তা জানি না, সুতরাং আপনাকে স্বতন্ত্র ফাইল ফাইল চালানো প্রতিটি ডিরেক্টরিতে পরিবর্তন করতে হবে vim -r। আপনি এমন কোনও স্ক্রিপ্ট নিয়ে আসতে পারেন যা অরক্ষিত পরিবর্তনগুলি সহ সমস্ত অদলবদিল ফাইলগুলি দেখানোর জন্য, প্রতিটি ব্যবহারকারীর আউটপুট git status, বা ব্যবহারের বিশ্লেষণ করে find -name '.*.sw[po]', এবং তারপরে vim -rপ্রতিটি ডিরেক্টরিতে দৌড়ে ।

(আমি এর .*.sw[po]পরিবর্তে ব্যবহার করি .*.swp, কারণ কখনও কখনও .swoফাইলগুলির পাশাপাশি ফাইলগুলি তৈরি করা হয় .swp, যখন আপনি ইতিমধ্যে একটি সোয়াপ ফাইল যুক্ত .swnএকটি ফাইল সম্পাদনা করেন। আপনি দুটি বিদ্যমান সোয়াপ ফাইল যুক্ত ফাইল সম্পাদনা করলে ফাইলগুলিও তৈরি করা যেতে পারে, তবে আমার মনে হয় না আমি কখনও বন্যের মধ্যে একটি দেখতে পেয়েছি really আপনি যদি সত্যিই অমনস্ক হয়ে থাকেন তবে আপনি ব্যবহার করতে পারেন .*.sw[a-p]বা সহজভাবে .*.sw?

দেখুন :help -rউপর (একটু) আরও তথ্যের জন্য -rবিকল্পটি অথবা :help recover.txtপুনরুদ্ধার এবং swap 'র ফাইলের নামের উপর আরও তথ্যের জন্য।


1
ঠিক আছে, ভিমের অদলবদল ফাইলগুলি হিডেন ফাইল ( .ফাইলের নাম হিসাবে নেতৃত্ব দেওয়া ) তাই সঠিক প্যাটার্নটি হবে .*.sw[a-p](যদিও প্যাথলজিকাল ক্ষেত্রে, আপনি আসলে সমস্ত উপায় পেতে পারেন .foo.saa)। এর সাথে ফ্ল্যাশ ফাইলগুলির সাথে মিলে যাওয়াও বন্ধ করা উচিত, যেহেতু আমি সন্দেহ করি সেগুলি সাধারণত একটি লুকানো ফাইল be
জামেসান

@ জামেসান নেতৃস্থানীয় .শেল গ্লোবগুলিতে প্রয়োজনীয় তবে *.swpএটি যুক্তি হিসাবে কাজ করে find। তবে নেতৃস্থানীয় .বিষয়গুলি সহজ করে তোলে। ধন্যবাদ!
লিথিস

8
  • .*.swpযখন কেবল ডিস্কে ফাইল এবং ভিএম-তে ফাইল আলাদা হয় কেবল তখনই-ফাইলগুলি রাখা কি সম্ভব ?

হ্যাঁ. নীচের স্নিপেটটি ( টিপোপের ভিম্রিসি থেকে অভিযোজিত ) কোনও বাফারের জন্য অদলবদল অক্ষম করবে যখন তা সংশোধন করা হয়নি, সুতরাং কেবলমাত্র পরিবর্তিত ফাইলের জন্য অদলবদল ফাইল উপস্থিত রয়েছে।

autocmd CursorHold,BufWritePost,BufReadPost,BufLeave *
  \ if isdirectory(expand("<amatch>:h")) | let &swapfile = &modified | endif

ক্যাভিয়েট : যেহেতু সোফার ফাইলটি কেবল তখনই উপস্থিত থাকে যখন বাফারটি সংশোধন করা হয়, আপনি অদলবদল লক হিসাবে অদলবদল ফাইলটি হারাবেন। যদি বাফারটি অশোধিত হয়, তবে অন্য ভিম এটি ইতিমধ্যে খোলার বিজ্ঞপ্তি ছাড়াই এটি সম্পাদনা শুরু করতে পারে। প্রথমটি যদি আরও পরিবর্তন আনার আগে দ্বিতীয় ভিম সংরক্ষণ করে, তবে ব্যবহারকারী সেভ করার চেষ্টা না করে বা কোনও কিছু ফাইল পরিবর্তন করে কিনা তা পরীক্ষা করতে ভিমকে ট্রিগার না করা অবধি ততক্ষণ তাদের লক্ষ্য করা যাবে না।

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