กำลังพยายามสร้างไฟล์ใหม่ด้วยต้นไม้ nerd ฉันกดa
ปุ่มเพื่อสร้างไฟล์ใหม่และฉันได้รับข้อความ:
E21: Cannot make changes, 'Modifiable' is off
ฉันใช้ MacVim และ Janus (เกือบจะออกนอกกรอบ)
กำลังพยายามสร้างไฟล์ใหม่ด้วยต้นไม้ nerd ฉันกดa
ปุ่มเพื่อสร้างไฟล์ใหม่และฉันได้รับข้อความ:
E21: Cannot make changes, 'Modifiable' is off
ฉันใช้ MacVim และ Janus (เกือบจะออกนอกกรอบ)
คำตอบ:
:set ma
ซึ่งสั้นสำหรับ
:set modifiable
จะทำให้บัฟเฟอร์สามารถแก้ไขได้ และ
:set noma
ไม่ตรงข้าม
:set buftype: " "
สำหรับการเขียนไฟล์หลังจากการปรับเปลี่ยน (ข้อความนั้นเป็นCannot write, 'buftype' option is set
)
ฉันไม่คุ้นเคยกับ NerdTree แต่ฉันเดาว่าด้วยการพิมพ์ aลงในมุมมอง nerdtree จะถูกตีความว่า "ฉันต้องการผนวกบางสิ่งในบัฟเฟอร์ nerdtree" และบัฟเฟอร์นั้นไม่สามารถแก้ไขได้
คุณสามารถตรวจสอบคำตอบที่เป็นกลุ่มและนามสกุล NERD ทรี - เพิ่มไฟล์ที่อธิบายวิธีการเพิ่มไฟล์ด้วย Nerdtree
a
การจับคู่ซึ่งจะทำให้ลองเพิ่มข้อความใหม่ต่อท้าย
สิ่งนี้ใช้ได้กับฉัน:
:set buftype=
:w
=
อะไรหลังจาก?
buftype
ตกลงนี่อาจไม่ใช่คำตอบที่ได้รับการบอกกล่าวมากที่สุดเพราะฉันแทบไม่มีความรู้เกี่ยวกับการทำงานของเสียงเรียกเข้าหรือ linux แต่ฉันพบวิธีแก้ปัญหาของฉันแล้วและมันก็ใช้ได้ผลสำหรับคุณ โดยเฉพาะปัญหาของฉันมีสองเท่า:
1) เมื่อใดก็ตามที่ฉันพยายามแก้ไขบางสิ่งในไฟล์ใหม่นี้ที่ฉันสร้างขึ้นฉันได้รับไม่สามารถทำการเปลี่ยนแปลงได้ 'Modifiable' ผิดพลาดและ ...
2) หลังจากทำงาน: ตั้งค่าแก้ไขได้และพยายามที่จะบันทึกฉันจะได้รับข้อผิดพลาด e382 ของ 'ไม่สามารถเขียน buftype ตั้ง ดังนั้นฉันไม่สามารถบันทึก
หลังจากที่หลั่งน้ำตาผ่านเอกสารลับที่ไร้ประโยชน์ฉันก็พบสิ่งนี้:
1) ค้นหาไดเรกทอรี. vimviews สำหรับฉันมันอยู่ที่รูทของ git repository ของฉัน
ls
ข้างในนั้น ฉันได้รับสิ่งนี้:
~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=
ซึ่งไม่มีประโยชน์กับคุณโดยสิ้นเชิงเนื่องจากคุณมีโครงสร้างไฟล์ที่แตกต่างกัน แต่มองหาไฟล์ที่ทำให้คุณมีปัญหา (โอ้ btw เหล่านี้เป็นชื่อไฟล์จริงซึ่งไม่ชัดเจนโดยสมบูรณ์เมื่อดูที่) ค้นหาไฟล์ที่มีปัญหาและลบ sucker นั้น: ตัวอย่าง:
rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
แก้ไขปัญหา.
หากคุณต้องการให้ไฟล์เกิดขึ้นใน NERDTree คุณต้องกด "m" (สำหรับเมนู) จากนั้นกด "a" เพียงป้อน "a" ในบัฟเฟอร์ NERDTree จะถูกตีความว่าเป็น "แก้ไขบัฟเฟอร์ NERDTree" การเพิ่ม: ma จะทำให้บัฟเฟอร์ของ NERDTree สามารถแก้ไขได้ แต่สิ่งนี้จะไม่สร้างไฟล์ใหม่สำหรับคุณมันจะนำไปสู่ข้อมูลที่ไม่สอดคล้องกันระหว่างสิ่งที่ NERDTree แสดงและลำดับชั้นไฟล์จริงของคุณ
สำหรับฉันฉันได้ทำการเปลี่ยนแปลงซึ่งรวมถึงไดเรกทอรีที่ฉันพยายามสร้างไฟล์ใน dir ที่ฉันเพิ่งถูกซ่อน NERDTree ยังคงแสดงต้นไม้ pre-stashed กับ dir นั้น การใช้m
dir ที่ไม่มีอยู่จะทำให้เกิดข้อผิดพลาดที่แก้ไขได้ ฉันควรรีเฟรชต้นไม้ด้วยr
เพื่อดู dir ไม่อยู่ที่นั่นอีกแล้วและทำไมมันไม่สามารถแก้ไขได้
m
และจากนั้นa
จะเพิ่มไฟล์ใหม่ใน NERDTree