tas-go.com
ฉันกลัวว่าจะเจออะไรแปลก ๆ เมื่อฉันเปิดไฟล์ตามปกติ vim, ทุกอย่างปกติดี. แต่เมื่อ sudo vim ไฟล์แสดงผลว่างเปล่าและให้ไฟล์ E138: Can't write viminfo file $HOME/. viminfo! เกิดข้อผิดพลาดขณะพยายามออก ฉันสงสัยว่า. viminfo ไฟล์เสียหายดังนั้นฉันจึงลบออก ปัญหานี้ยังคงอยู่ ใครสามารถช่วย? คุณสามารถโพสต์ผลลัพธ์เมื่อเรียกใช้ ls *? ไฟล์ viminfo มีสิทธิ์อะไรบ้าง ผลลัพธ์ของไฟล์ ls -la *? เมื่อคุณเรียกใช้ sudo vim คุณเริ่มเป็นกลุ่มเป็นรูท นั่นหมายความว่าเป็นไฟล์ viminfo ใน / root ที่เป็นปัญหา คุณควรทำ rm /root/*. เพื่อให้แน่ใจว่าสิ่งนี้เรียกใช้ sudo vim และดำเนินการคำสั่งนี้::! echo $HOME. สิ่งนี้จะแสดงให้คุณเห็นว่าโฮมไดเร็กทอรีของคุณคือ / root ฉันอยากจะแนะนำว่าคุณอย่าเรียกใช้ vim เป็น root แต่ควรใช้ sudoedit.
2) ' + save/restore buffer list และที่สำคัญที่สุดคือ set viminfo=xxx ควรมาทีหลัง set nocompatible สิ่งนี้มีประโยชน์มากขอบคุณ นอกจากนี้ฉันได้ตั้งค่า MYVIMRC เป็น /root/. gnicholl/ (เรากำลังแชร์รูทในกล่อง - ใช่ฉันรู้! ) แต่มันกำลังถูกละเลย - ฉันต้องใช้นามแฝง vi เป็น vim -u / root /. gnicholl / เพื่อให้ใช้งานได้ - มีความคิดอย่างไร คุณสามารถถอดรหัสรูปแบบ viminfo ได้อย่างไร มีโต๊ะอ่านง่ายอยู่ที่ไหนสักแห่ง? มีทางเลือกอื่นใดบ้างที่เป็นไปได้? @ 425nesp ถ้าคุณกำลังพูดถึงรูปแบบเป็นกลุ่มในคำตอบของฉันฉันจะทำด้วยตนเอง ในการเขียนโปรแกรมรายวันฉันใช้ Tabularize () BTW โดยใช้ ctrl+v เพื่อแก้ไขเส้น อาขอโทษที่ฉันอ้างถึงสัญลักษณ์นั้น viminfo ยอมรับ ฉันไม่พบหน้าความช่วยเหลือที่ถูกต้องในตอนแรก:help 'viminfo' คือสิ่งที่ฉันกำลังมองหา โต๊ะก็เจ๋งเหมือนกัน! : ง @ 425nesp ก่อนอื่นคุณต้องตรวจสอบว่า viminfo เปิดใช้งานในไฟล์:ver ( +viminfo หมายถึงเปิดใช้งาน) และคุณสามารถลอง:h viminfo หรือ:h viminfofile (ไม่มีโควต้าเดียว) จะแสดงสิ่งที่ต้องการ 10. The viminfo file.... BTW กลุ่มของฉันคือ v8. 2. 314 นั่นคือค่าเริ่มต้น:verbose ไม่เป็นประโยชน์จริงๆที่นี่และพฤติกรรมนั้นไม่ได้รับการบันทึกไว้ใน AFAIK แต่จะทำเช่นนั้นสำหรับค่าเริ่มต้นเสมอ ฉันขอแนะนำให้คุณอ่าน:help 'viminfo' สำหรับความหมายของค่าของ viminfo ตัวเลือกและวิธีการ:set มันไม่ได้:let).
มันกล่าวถึงโฮมไดเร็กทอรีผู้ใช้ของฉันอย่างชัดเจน: E138: Can't write viminfo file /Users/henrik/. viminfo! กำลังลบ ~/. viminfo ไม่ได้แก้ไขข้อผิดพลาด ปรากฎว่าฉันมีไฟล์ viminfo temp จำนวนมากและการลบไฟล์เหล่านั้นได้รับการแก้ไขปัญหา: ls ~/* # If you want to see the files. rm -rf ~/* # Remove them. พบโซลูชันนี้ที่นี่ ฉันได้รับข้อผิดพลาดเดียวกันนี้เมื่อพยายาม:wq ไฟล์บนดิสก์ที่เต็มแล้ว หากคุณได้รับข้อความนี้คุณอาจต้องการตรวจสอบเนื้อที่ว่างบนดิสก์ของคุณ วิธีที่สะอาดกว่ามากในการสร้างโฮมไดเร็กทอรีคือการใช้โครงกระดูกที่ linux จัดเตรียมไว้ให้คุณ sudo cp -a /etc/skel /home/usernmae && sudo chown -R usernmae:usernmae /home/usernmae 1 ฉันกลัวว่าคำถามจะเกี่ยวข้องกับการสร้างโฮมไดเร็กทอรีน้อยมาก... คุณต้องสร้างโฮมไดเร็กทอรีเพื่อให้ vim สามารถบันทึกลงในไฟล์. viminfo ได้ดังนั้นใช่คำสั่งข้างต้นจึงใช้ได้ 1 มีสาเหตุมากมายที่ไม่มีไฟล์นี้ก่อนที่คุณจะได้ข้อสรุปดังกล่าว การไม่มีโฮมไดเร็กทอรีอาจทำให้เกิดปัญหามากกว่าแค่ไฟล์ที่หายไป ด้วยเหตุนี้ฉันจึงสามารถตอบคำถาม "ไฟล์ที่หายไป" ได้ด้วย "สร้างโฮมไดเร็กทอรีของคุณ":) 1 +1 ในกรณีของฉันข้อผิดพลาดนี้เกิดขึ้นเนื่องจากฉันกำลังแก้ไขไฟล์ในฐานะผู้ใช้ที่ไม่มีโฮมไดเร็กทอรี สำหรับฉันปัญหาคือฉันได้เปลี่ยนโฮมไดเร็กทอรีของฉันเป็นตำแหน่งภายในเมาท์ NFS ด้วยเหตุผลบางประการจึงส่งผลให้เจ้าของไดเรกทอรี "ไม่มีใคร" การเพิ่มสิทธิ์การเขียนสำหรับ "อื่น ๆ " ช่วยแก้ปัญหาได้เนื่องจากเห็นได้ชัดว่าฉันไม่ใช่เจ้าของไฟล์ chmod o+w ~/.
ฉันกำลังใช้ opensuse สำหรับสภาพแวดล้อมการผลิตของฉัน ฉันเข้าสู่ระบบในฐานะผู้ใช้ "ทดสอบ" และพยายามแก้ไขไฟล์โดยใช้ "vi" แต่เมื่อฉันจะบันทึกไฟล์นั้นแสดงข้อผิดพลาดต่อไปนี้ ** E138: ไม่สามารถเขียนไฟล์ viminfo /home/test/. viminfo ** ภายใต้ "ทดสอบ" ผู้ใช้ไฟล์และโฟลเดอร์ทั้งหมดจะกลายเป็นแบบอ่านอย่างเดียวโดยอัตโนมัติ ฉันกำลังพยายามเปลี่ยนสิทธิ์โดยใช้ผู้ใช้ "root" แต่ไม่สามารถเปลี่ยนได้ ฉันยังมองหาไฟล์ temp เช่น "~ / *" แต่ไม่มีอะไรแบบนี้ ไม่รู้จะทำยังไงดี.... ใครทราบเกี่ยวกับปัญหานี้ แก้ไขเจ้าของโฮมไดเร็กทอรีและสิทธิ์ของคุณ sudo chown -R test /home/test sudo chmod u+rw -R /home/test และสุดท้ายตรวจสอบว่าไม่มีไฟล์ temp เก่าทิ้ง (เช่น ~ / *) และคุณสามารถเขียนลงในไดเร็กทอรีของไฟล์. viminfo มันไม่ได้ wroking มันแสดง pstscos341: / home / sibuild # sudo chown sibuild / home / sibuild / jira_certificate chown: การเปลี่ยนความเป็นเจ้าของ `/home/sibuild/ ': ระบบไฟล์แบบอ่านอย่างเดียว pstscos341: / home / sibuild # sudo chmod + urw /home/sibuild/ chmod: invalid mode: +urw' Try chmod --help 'สำหรับข้อมูลเพิ่มเติม เพิ่งแก้ไขคำตอบ อย่าใช้ sudo หากคุณกำลังลองสิ่งนี้ในรูทเชลล์ '#' ยังไม่ทำงาน... ข้อผิดพลาดเดียวกัน 1 rm ~/ ได้ผลสำหรับฉัน - ฉันมีหนึ่งตัวสำหรับตัวอักษรแต่ละตัว
หลัก ข้อผิดพลาด Vim - E138: ไม่สามารถเขียนไฟล์ viminfo Linux: E212: ไม่สามารถเปิดไฟล์เพื่อเขียนได้ [แก้ไขแล้ว] ฉันได้ตรวจสอบลิงก์ที่คล้ายกันหลายรายการแล้ว แต่ไม่มีอะไรทำงาน ก่อนที่ฉันจะอธิบายปัญหาก่อนหน้านี้ฉันได้รับข้อความต่อไปนี้ขณะบันทึกไฟล์ใด ๆ: vim e509 Cannot create backup file (add! to override) ในขณะที่ค้นหาวิธีแก้ปัญหาฉันเจอลิงก์หลายลิงก์ซึ่งแนะนำให้สร้างไฟล์. vimrc ดังนั้นฉันจึงสร้างขึ้นมาและป้อนเนื้อหาต่อไปนี้: set backup set backupdir=~/ ฉันยังสร้างไดเร็กทอรี ~ / / backups นอกจากนี้ยังไม่มีไฟล์. viminfo ฉันคิดว่าฉันลบมันออกไปในขณะที่พยายามแก้ไขสิ่งต่างๆ รายละเอียดอื่น ๆ ที่อาจสนใจ ได้แก่: -sh-4. 2$ id uid=497(git) gid=496(git) groups=496(git) -sh-4. 2$ ls -ld * drwxr-xr-x 3 git git 4096 Dec 28 21:59 -rw-r--r-- 1 git git 40 Dec 28 22:09 -sh-4. 2$ ls -l drwxr-xr-x 2 git git 4096 Dec 28 22:11 backups -sh-4. 2$ pwd /var/opt/gitlab -sh-4. 2$ ls -ld /var/ drwxr-xr-x 20 root root 4096 Dec 20 22:31 /var/ -sh-4. 2$ ls -ld /var/opt/ drwxr-xr-x 3 root root 4096 Oct 21 21:01 /var/opt/ -sh-4.