অস্থায়ী ফাইল তৈরি (এবং ছেড়ে) থেকে ভিএমকে কীভাবে প্রতিরোধ করবেন?


163

ভিএম <filename>~ফাইল তৈরি করে কেন ? এটি নিষ্ক্রিয় করার কোনও উপায় আছে?

যদি এটি ব্যাকআপের জন্য (বা কিছু) হয় তবে আমি তার জন্য গিট ব্যবহার করি।

এছাড়াও, এই .<filename.with.path.hints>.swpফাইলগুলি।

আমি কীভাবে ভিমকে বলব যে সেগুলি তৈরি না করা, বা কমপক্ষে নিজের পরে পরিষ্কার করার জন্য?

সম্পাদনা

ওফস, নকল:

কেন ভিম একটি ~ এক্সটেনশন দিয়ে ফাইলগুলি সংরক্ষণ করে?

আমি সেখান থেকে রোজারিওভিএল এর উত্তর গ্রহণ করেছি

ভারব্যাটিম অনুলিপি:

set nobackup       "no backup files
set nowritebackup  "only in case you don't want a backup file while editing
set noswapfile     "no swap files

13
সিস্টেম বিপর্যয়ের পরে গিট আপনাকে কখনই কাজ সেরে উঠতে সহায়তা করবে না। গিট আপনার * .swp ফাইলগুলিকেও এড়িয়ে যেতে পারে। = ডি
vmassuchetto



এই পোস্টটি ছয় বছর পরে কেউ এই প্রশ্নটিকে গুরুতরভাবে সদৃশ হিসাবে চিহ্নিত করেছে?
হেসেন

উত্তর:


79

আমি অদলবদল ফাইলগুলির সাথে কাজ চালিয়ে যাওয়ার জন্য দৃ recommend়ভাবে সুপারিশ করব (ভিম ক্রাশ হওয়ার ক্ষেত্রে)

অদলবদল ফাইলগুলি যেখানে সংরক্ষণ করা হয় সেই ডিরেক্টরিটি আপনি সেট করতে পারেন, যাতে তারা আপনার সাধারণ ডিরেক্টরিগুলিকে বিশৃঙ্খলা না করে:

set swapfile
set dir=~/tmp

আরো দেখুন

:help swap-file

4
ঠিক আছে, নোটপ্যাড ++ সহ আমার কখনই দরকার নেই, আপনি যদি না বলেন যে ভিম খুব ঘন ঘন ক্র্যাশ হয়ে যায়!
হাসেন

8
না, আমি বোঝাচ্ছিলাম না যে ভিম খুব বেশি সময় ক্র্যাশ হয় (যদিও আমি এটি ক্র্যাশ করে দেখেছি)। তবে আমার কাজের পরিবেশের জন্য, আমি যে হোস্টের সাথে কাজ করছি তার সাথে নেটওয়ার্ক সংযোগটি বেশ অস্থির, তাই বাধা সম্পাদনা ঘটে editing অদলবদল ফাইলগুলি সেখানে সহায়তা করে।
ব্যবহারকারী 55400

9
@ ব্যবহারকারী 55400 জিএনইউ / স্ক্রিনের কথা শুনেছেন? (বা tmux, বা এই জাপানি বিকল্প)
এলাজার লেইবোভিচ

আমি এটি উইন্ডোতে আমার _vimrc ফাইলে যুক্ত করেছি এবং আমি এখনও ফাইল ~ ফাইল পাচ্ছি। আমি কি সঠিকভাবে কিছু করছি না?
ফিলবট 3

2
@ নর্ইনসিসি আমি / টিএমপি ব্যবহারের বিরুদ্ধে পরামর্শ দেব। যদি পুরো সিস্টেমটি ক্র্যাশ হয়ে যায় এবং আপনাকে পুনরায় বুট করতে হবে তবে আপনার স্যুট্যাপ ফাইলগুলি চলে যাবে।

57

এটি আপনার .vimrc কনফিগারেশন ফাইলে রাখুন।

set nobackup

5
আমরা উইম এর সাথে উইন্ডোজ 8.1 এ এটি করেছি। অদলবদল ফাইলগুলি এখনও উপস্থিত আছে।
শান লুটিন

1
শান, মূল প্রশ্নটিতে সম্পাদনাতে যেমন উল্লেখ করা হয়েছে, তেমন নতুন swap ফাইল তৈরি হওয়া থেকে রোধ করতে আপনার .vimrc এ "সেট noswapfile" যুক্ত করতে হতে পারে।
আর্ল জেড

কীওয়ার্ডের :আগে উপসর্গ হিসাবে বসে থাকা সম্পর্কে কী set? এটা কি প্রয়োজন? এটি কোনও মন্তব্যের মতো দেখাচ্ছে না ...
স্টিফেন

@ স্টাফেনের একটি :উপসর্গটির অর্থ এটি কমান্ড মোডে হয়েছে, তবে :আপনার ভিএমআরসি লেখার সময় আপনার প্রয়োজন হবে না
ট্যাঙ্কোরস্যামশ

এটি আসলেই ভাল ধারণা নয়। এই ফাইলগুলিকে টেম্প / ফোল্ডারে বসার উপরেরটি ইতিমধ্যে আরও ভাল।
MonsieurMan

36

; উইন্ডোজ ব্যবহারকারীদের টেম্প ডিরেক্টরিতে ফিরে যেতে

set backup
set backupdir=C:\WINDOWS\Temp
set backupskip=C:\WINDOWS\Temp\*
set directory=C:\WINDOWS\Temp
set writebackup

6
আমাকে সেট আনোডির = সি: I উইন্ডোজ \ টেম্পে যুক্ত করতে হয়েছিল

এটি আমার পক্ষে কাজ করে না - আমাকে এর পরিবর্তে সেট দির = $ টিইএমপি ব্যবহার করতে হয়েছিল
ফ্র্যাঙ্ক স্মিট

10

আমি "noswapsuck" নামক একটি প্লাগইন তৈরি করেছি যা কেবলমাত্র যখন বাফারটিতে সংরক্ষিত পরিবর্তনগুলি থাকে কেবলমাত্র স্ব্যাপফাইলে সক্ষম করে। একবার পরিবর্তনগুলি সংরক্ষণ করা হয়ে গেলে, সোয়াপ ফাইলটি সাফ হয়ে যায়। অতএব, ডিস্কে থাকা ফাইলের মতোই সামগ্রী থাকা স্বয়ফিলগুলি সরানো হবে।

এটি এখানে পান: noswapsuck.vim

এটি আমার পক্ষে ভাল কাজ করছে, তবে আমি এর আগে কখনও প্রচার করি নি, তাই আমি প্রতিক্রিয়াটিকে স্বাগত জানাব।

সুবিধাদি:

  • আপনার ডিস্কে থাকা কেবলমাত্র সোয়াফিলগুলিই হবে গুরুত্বপূর্ণ সোয়াপ ফাইলগুলি যা আসলে ফাইল থেকে আলাদা!

অসুবিধা:

  • যদি বাফারের একটি সোয়াপফাইল থাকে তবে ফাইলটি প্রথমে খোলার পরে এটি সনাক্ত করা যাবে না। এটি কেবল তখন swapfileসক্ষম করা হবে যখন আপনি বাফার সম্পাদনা করা শুরু করবেন start এটি বিরক্তিকরভাবে দেরি হয়ে গেছে এবং আপনাকে বাধা দেবে। (সমাধান করা হয়েছে: অস্থায়ীভাবে swapfileবিকল্পটি আবার চালু করে আমরা বাফারটি খুললে আমরা এখন প্রাক-বিদ্যমান swapfile সন্ধান করি ))

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

    :let g:NoSwapSuck_CloseSwapfileOnWrite = 0
    

    যা কোনও লেখার পরে স্ব্যাপফাইলে রাখবে, তবে বাফার ফোকাস হারিয়ে ফেললে তা সরিয়ে ফেলবে।

যাইহোক, আমার আরেকটি ছোট প্লাগইন রয়েছে :DiffAgainstFileOnDiskযা হিট (r)ecoverকরার পরে বেশ কার্যকর হতে পারে , আপনার উদ্ধার করা বাফারটি বিদ্যমান ফাইলের চেয়ে নতুন বা পুরানো কিনা বা এটির অনুরূপ কিনা তা পরীক্ষা করতে।


8

উইন্ডোজটিতে _vimrc এ নিম্নলিখিত লাইনগুলি যুক্ত করুন

" store backup, undo, and swap files in temp directory
set directory=$HOME/temp//
set backupdir=$HOME/temp//
set undodir=$HOME/temp//

5

এই উত্তরটি উইন্ডোজ ১০-এ জিভিম ব্যবহারের ক্ষেত্রে প্রযোজ্য other আমি অন্যান্য অপারেটিং সিস্টেমের জন্য একই ফলাফলের গ্যারান্টি দিতে পারি না।

যোগ করুন

set nobackup
set noswapfile
set noundofile

আপনার _vimrc ফাইলটিতে।

দ্রষ্টব্য: এটি প্রশ্নের সরাসরি উত্তর (উইন্ডোজ 10 এর জন্য) এবং সম্ভবত সবচেয়ে নিরাপদ জিনিস নয় (অন্যান্য উত্তরগুলি পড়ুন) তবে এটি আমার ক্ষেত্রে দ্রুততম সমাধান।


0

আমার উবুন্টু .vimrc এ এই সেটআপটি আছে। আমি আমার প্রকল্পের ফাইলগুলিতে কোনও অদলবদল দেখতে পাচ্ছি না।

set undofile
set undolevels=1000         " How many undos
set undoreload=10000        " number of lines to save for undo

set backup                        " enable backups
set swapfile                      " enable swaps
set undodir=$HOME/.vim/tmp/undo     " undo files
set backupdir=$HOME/.vim/tmp/backup " backups
set directory=$HOME/.vim/tmp/swap   " swap files

" Make those folders automatically if they don't already exist.
if !isdirectory(expand(&undodir))
    call mkdir(expand(&undodir), "p")
endif
if !isdirectory(expand(&backupdir))
    call mkdir(expand(&backupdir), "p")
endif
if !isdirectory(expand(&directory))
    call mkdir(expand(&directory), "p")
endif
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.