เป็นกลุ่ม“ แก้ไขได้” ปิด


147

กำลังพยายามสร้างไฟล์ใหม่ด้วยต้นไม้ nerd ฉันกดaปุ่มเพื่อสร้างไฟล์ใหม่และฉันได้รับข้อความ:

E21: Cannot make changes, 'Modifiable' is off

ฉันใช้ MacVim และ Janus (เกือบจะออกนอกกรอบ)


2
fyi: mและจากนั้นaจะเพิ่มไฟล์ใหม่ใน NERDTree
Leighton

คำตอบ:


233
:set ma

ซึ่งสั้นสำหรับ

:set modifiable

จะทำให้บัฟเฟอร์สามารถแก้ไขได้ และ

:set noma

ไม่ตรงข้าม


3
+1 กับคำตอบนี้ Google แสดงหน้านี้เมื่อคุณค้นหาวิธีปิดการตั้งค่าสถานะที่แก้ไขได้ในบัฟเฟอร์
Sebastián Grignoli

ไม่มีใครรู้ว่าฉันจะเลิกทำสิ่งที่ฉันลบใน NERDTree ได้อย่างไร เช่น 'dd' และจากนั้นฉันพยายาม 'u' และไม่มีอะไรเกิดขึ้น
betoharres

6
ฉันยังมีการใช้:set buftype: " "สำหรับการเขียนไฟล์หลังจากการปรับเปลี่ยน (ข้อความนั้นเป็นCannot write, 'buftype' option is set)
Julien Carsique

18

ฉันไม่คุ้นเคยกับ NerdTree แต่ฉันเดาว่าด้วยการพิมพ์ aลงในมุมมอง nerdtree จะถูกตีความว่า "ฉันต้องการผนวกบางสิ่งในบัฟเฟอร์ nerdtree" และบัฟเฟอร์นั้นไม่สามารถแก้ไขได้

คุณสามารถตรวจสอบคำตอบที่เป็นกลุ่มและนามสกุล NERD ทรี - เพิ่มไฟล์ที่อธิบายวิธีการเพิ่มไฟล์ด้วย Nerdtree


10
Doh มันคือ m จากนั้น a
เวสบอส

1
เพียงเท่านี้ตรวจสอบความช่วยเหลือสำหรับ NERDTree ที่ไม่มีaการจับคู่ซึ่งจะทำให้ลองเพิ่มข้อความใหม่ต่อท้าย
sidyll

3

สิ่งนี้ใช้ได้กับฉัน:

:set buftype=
:w

คุณคิดว่าจะเพิ่ม=อะไรหลังจาก?
CodeMonkey

ไม่มีอะไร ซึ่งหมายความว่ากำหนดค่าว่างให้กับbuftype
mipmip

2

ตกลงนี่อาจไม่ใช่คำตอบที่ได้รับการบอกกล่าวมากที่สุดเพราะฉันแทบไม่มีความรู้เกี่ยวกับการทำงานของเสียงเรียกเข้าหรือ 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=

แก้ไขปัญหา.


1
ได้รับปัญหานี้ยังทำงานกับ NerdTree ใช้งานได้หลังจากออกจากเซสชัน vim ที่ทำให้เกิดปัญหาเท่านั้น ฉันคาดเดาว่าจะรีเซ็ต "มุมมอง" นี้ต่อไป
จอห์น

2

หากคุณต้องการให้ไฟล์เกิดขึ้นใน NERDTree คุณต้องกด "m" (สำหรับเมนู) จากนั้นกด "a" เพียงป้อน "a" ในบัฟเฟอร์ NERDTree จะถูกตีความว่าเป็น "แก้ไขบัฟเฟอร์ NERDTree" การเพิ่ม: ma จะทำให้บัฟเฟอร์ของ NERDTree สามารถแก้ไขได้ แต่สิ่งนี้จะไม่สร้างไฟล์ใหม่สำหรับคุณมันจะนำไปสู่ข้อมูลที่ไม่สอดคล้องกันระหว่างสิ่งที่ NERDTree แสดงและลำดับชั้นไฟล์จริงของคุณ


0

ในกรณีที่คนอื่นใช้ google นี้ให้ตรวจสอบว่าคุณไม่ได้พยายามที่จะเปิดไดเรกทอรีในกลุ่มเหมือนฉันเพิ่ง (d'oh)


1
คุณสามารถเปิดไดเรกทอรีในกลุ่ม โดยค่าเริ่มต้นมันจะเปิด Netrw
htmldrum

ตัวอย่างเช่นคุณสามารถเลือกไฟล์ในไดเรกทอรี: cw ทำการเปลี่ยนแปลงบางอย่างกับชื่อของพวกเขาและบันทึกมัน
Karolius

0

สำหรับฉันฉันได้ทำการเปลี่ยนแปลงซึ่งรวมถึงไดเรกทอรีที่ฉันพยายามสร้างไฟล์ใน dir ที่ฉันเพิ่งถูกซ่อน NERDTree ยังคงแสดงต้นไม้ pre-stashed กับ dir นั้น การใช้mdir ที่ไม่มีอยู่จะทำให้เกิดข้อผิดพลาดที่แก้ไขได้ ฉันควรรีเฟรชต้นไม้ด้วยrเพื่อดู dir ไม่อยู่ที่นั่นอีกแล้วและทำไมมันไม่สามารถแก้ไขได้

โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.