ভিম ত্রুটি E138: viminfo ফাইলটি লিখতে পারে না OME হোম / .viminfo!


20

আমি আশঙ্কা করছি যে আমি কিছু অদ্ভুত কিছু করেছি। আমি যখন সাধারণত কোনও ফাইল খুলি vim README.txt, সমস্ত কিছু ঠিক আছে। তবে sudo vim README.txt, ফাইলটি ফাঁকা রেন্ডার করে এবং E138: Can't write viminfo file $HOME/.viminfo!প্রস্থান করার চেষ্টা করার পরে আমাকে একটি ত্রুটি দেয় ।

আমি .viminfoফাইলটি দূষিত বলে সন্দেহ করেছি , তাই আমি এটি মুছে ফেলেছি। এই সমস্যা থেকেই যায়। কেউ সাহায্য করতে পারেন?


দৌড়ানোর সময় আপনি কি ফলাফল পোস্ট করতে পারেন ls .viminf*?
কিউংলম

Viminfo ফাইলের অনুমতি কি? এর আউটপুট কি ls -la .vininf*?
darnir

উত্তর:


29

আপনি যখন চালান sudo vimআপনি মূল হিসাবে vim শুরু। তার মানে এটি যে / রুটে থাকা viminfo ফাইল এটিই সমস্যা। আপনার করা উচিত rm /root/.viminf*

এই নিশ্চিত করতে, চালানো sudo vimএবং এই কমান্ডটি ব্যবহার করুন: :!echo $HOME। এটি আপনাকে দেখায় যে আপনার হোম ডিরেক্টরিটি / রুট।

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

থাম্বের সাধারণ নিয়ম হিসাবে: জিনিসগুলি প্রয়োজনীয় না হলে মূল হিসাবে চালাবেন না।


আমি মনে করি আপনি এই নোটটি নিয়ে চিন্তার একগুচ্ছ থেকে আমাকে বাঁচাতে পেরেছিলেন, "সম্পাদকটি মূল হিসাবে চলমান না হওয়ায় এটি আরও সুরক্ষিত সমাধান a প্লাগইন কী করতে পারে তা আপনি কখনই জানেন না " " দুর্বলতা, কিন্তু আমি ভুল ছিল।
bবলldave025

14

প্রতিটি প্রস্থান করার সময় আমি এই ত্রুটি পেয়েছি। আমি ব্যবহার করিনি sudo। এটি আমার ব্যবহারকারীর হোম ডিরেক্টরিটি স্পষ্টভাবে উল্লেখ করেছে:

E138: Can't write viminfo file /Users/henrik/.viminfo!

অপসারণ ~/.viminfoত্রুটি ঠিক করে নি।

দেখা যাচ্ছে আমার কাছে একগুচ্ছ ভিমিনফো টেম্প ফাইল রয়েছে এবং সমস্যাগুলি সমাধান করাগুলি অপসারণ করছে:

 ls ~/.viminf*      # If you want to see the files.
 rm -rf ~/.viminf*  # Remove them.

এই সমাধানটি এখানে পেয়েছি ।


5

:wqসম্পূর্ণরূপে পূর্ণ একটি ডিস্কে কোনও ফাইল চেষ্টা করার সময় আমি একই ত্রুটি পেয়েছি । আপনি যদি এই বার্তাটি পান তবে আপনি নিজের উপলব্ধ ডিস্কের স্থানটি পরীক্ষা করতে পারেন।


3

একটি হোম ডিরেক্টরি তৈরি করার আরও অনেক ক্লিনিক উপায় হ'ল উদাহরণস্বরূপ লিনাক্স আপনাকে সরবরাহ করে এমন কঙ্কাল ব্যবহার করা।

sudo cp -a /etc/skel /home/usernmae && sudo chown -R usernmae:usernmae /home/usernmae

1
আমি ভয় করি যে হোম ডিরেক্টরিগুলি তৈরি করার সাথে এই প্রশ্নের খুব কম সম্পর্ক আছে ...
জন ডাব্লুএইচ স্মিথ

.Viminfo ফাইলে সংরক্ষণ করতে সক্ষম হবার জন্য আপনাকে একটি হোম ডিরেক্টরি তৈরি করতে হবে, সুতরাং হ্যাঁ উপরের কমান্ডটি প্রযোজ্য।
রিক

1
এই ধরণের সিদ্ধান্তে পৌঁছানোর আগে এই ফাইলটির অস্তিত্ব থাকবে না এমন অসংখ্য কারণ রয়েছে। একটি হোম ডিরেক্টরি অনুপস্থিতি সম্ভবত কেবল একটি অনুপস্থিত ফাইলের চেয়ে আরও বেশি সমস্যার কারণ হতে পারে; এই কারণে আমি "আপনার হোম ডিরেক্টরি তৈরি করুন" দিয়ে কোনও "অনুপস্থিত ফাইল" প্রশ্নের উত্তর দিতে পারলাম। :)
জন ডাব্লু এইচ স্মিথ

1
+1 আমার ক্ষেত্রে, এই ত্রুটিটি হুবহু ঘটেছে কারণ আমি কোনও ফাইল হিসাবে একটি ফাইল সম্পাদনা করছিলাম যার কোনও হোম ডিরেক্টরি নেই।
জোল্টন

3

আমার জন্য সমস্যাটি ছিল আমি নিজের হোম ডিরেক্টরিটি একটি এনএফএস মাউন্টের ভিতরে অবস্থিত করেছিলাম। কিছু কারণে, এর ফলে ডিরেক্টরিটির মালিক "কেউ নন"। "অন্য" এর জন্য লেখার অনুমতি যুক্ত করা সমস্যার সমাধান করেছে কারণ আমি স্পষ্টত ফাইলটির মালিক নই।

chmod o+w ~/.viminfo

1
আপনি দয়া করে আপনার উত্তর পরিষ্কার করতে পারেন? অনলাইনলাইন উত্তরগুলি এসই
রোমিও নিনভ

2
অদ্ভুত যে অন্যান্য লেখার অনুমতি যুক্ত করা আপনাকে সহায়তা করেছিল। আপনার নিজের ফাইলটি সম্ভবত নেই?
জেফ শ্যাচলার

এটি আমার পক্ষে কাজ করে। আমার অনুমান যে আমার ".viminfo" ব্যবহারকারী "রুট" দ্বারা তৈরি হয়েছিল এবং যদি ব্যবহারকারী "উবুন্টু" এটি সংশোধন করার চেষ্টা করে, তার লেখার অনুমতি দরকার। সংক্ষেপে, "-rw-r - r--" হয়ে যায় "-rw-r - rw-"।
পান্না

0

সম্ভবত সম্ভবত এটি ঘটছে কারণ হোম দির ডিস্কের জায়গা শেষ হয়ে গেছে এবং কোনও নতুন ভিআইএম অপারেশন .viminfo ফাইলে লিখতে অক্ষম।


3
এটি কিছুটা সুদূরপ্রসারী বলে মনে হচ্ছে: এর পক্ষে আপনার কোনও প্রমাণ আছে কি?
জেসনওয়ারিয়ান

হ্যাঁ, এটি একটি সম্ভাবনা।
নেড 64

0

মেকফিলের সামগ্রী আপডেট করার সময় আমারও একই সমস্যা ছিল। আমার একটি স্থানীয় পরিবর্তনশীল প্রয়োজন এবং এটির নামকরণের সিদ্ধান্ত নিয়েছি HOME, তাই আমি লাইনে প্রবেশ করলাম HOME=2.154। এটি vim-HOMEসেটিংটি অ-বিদ্যমান ডিরেক্টরি দ্বারা প্রতিস্থাপিত করে। HOMEঅন্যান্য ব্যবহারের জন্য ভেরিয়েবল ব্যবহার করবেন না ।


1
দয়া করে নোট করুন যে HOMEএকটি পূর্বনির্ধারিত পরিবেশ পরিবর্তনশীল এবং এটি পুনরায় সংজ্ঞায়িত করা সাধারণত ভাল ধারণা নয়।
বরুন

0

আমি মনে করি এটি কেবল লিনাক্স / vi এর পুরানো সংস্করণগুলিতেই প্রয়োগ হতে পারে তবে আমি যা পেয়েছি তা হল /root/.viminfa.tmp ফাইলগুলির সাথে মূলের হোম ডিরেক্টরিতে অস্থায়ী ফাইল ছিল ... /root/.viminfz.tmp এবং তাদের মধ্যে 26 টি ছিল বেশ কয়েক বছর ধরে coveringাকা টাইমস্ট্যাম্প সহ। সমস্ত এজে নেওয়া হওয়ায় আমরা বর্ণমালার চিঠিগুলি শেষ করে দিয়েছি। আমি এই ফাইলগুলি মুছে ফেলেছি এবং সমস্যাটি অদৃশ্য হয়ে গেছে। অবশ্যই হেনরিক # rm -rf ~/.viminf* এই সমস্যাটি ঠিক ঠিক ঠিক করবে।


0

দেখে মনে হচ্ছে আপনি পরিবেশের পরিবর্তনগুলি সাফ করেছেন।

এটা কর:

রপ্তানি হোম = / মূল

এটি আপনার সমস্যা সমাধান করা উচিত।


0

আমি কীভাবে এই দৃশ্যটি দেখতে পেলাম তা নিশ্চিত নয় কারণ আমি কোনও ফাইল খোলার কথা মনে করি না sudo vimতবে প্রতিটি :qফাইলের সাথে আমি একই রকম 'ভিমনফো লিখতে পারি না লেখার যোগ্য নয়' পেয়ে যাচ্ছিলাম।

rm ~/.viminfoএটি সমাধান করেনি এবং ~/.vim/খালি ছিল।

chmod 666 ~/.viminfoভিমে কোনও ফাইল বের করার সময় সেই সতর্কতা বার্তাটি সমাধান করুন। যদিও আমি নিশ্চিত নই যে এটিই সেরা সমাধান? .Viminfo rw ------ এর আগে থেকে কেন সতর্কতা বন্ধ করে দেওয়া হয়েছে তা আমি বুঝতে পারি এবং আমি ধরে নিই যে vim কমান্ড ইতিহাসের সাথে লিখিত হয়েছি।


0

আমি আমার পরিস্থিতি, এটি /root/.viminfoসম্পূর্ণরূপে ফাইলের অনুপস্থিতি । আমি ফাইলটি স্পর্শ করার পরে ত্রুটি বন্ধ হয়ে গেছে এবং ভিএম থেকে বেরিয়ে আসার পরে ফাইলটি আপডেট করা হয়েছিল। পিএস: এটি উইন্ড্রিভার এম্বেডড লিনাক্স।

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