Câu trả lời:
:set ma
viết tắt của
:set modifiable
sẽ làm cho một bộ đệm có thể sửa đổi. Và
:set noma
làm ngược lại.
:set buftype: " "
để viết tệp sau khi sửa đổi (sau đó là tin nhắn Cannot write, 'buftype' option is set
)
Tôi không quen thuộc với NerdTree nhưng tôi đoán rằng bằng cách nhập avào chế độ xem nerdtree, nó được hiểu là "Tôi muốn thêm một cái gì đó vào bộ đệm nerdtree" và bộ đệm đó không thể sửa đổi.
Bạn có thể kiểm tra câu trả lời vim và phần mở rộng NERD Tree - thêm một tệp giải thích cách thêm tệp bằng Nerdtree.
a
ánh xạ, điều này sẽ khiến nó thử nối thêm văn bản mới.
Điều này làm việc cho tôi:
:set buftype=
:w
=
?
buftype
Ok, đây có thể không phải là câu trả lời được thông tin nhiều nhất vì tôi hầu như không có kiến thức làm việc về vim hoặc linux, nhưng tôi đã tìm ra giải pháp cho vấn đề của mình và nó có thể phù hợp với bạn. Cụ thể, vấn đề của tôi là gấp đôi:
1) bất cứ khi nào tôi cố gắng chỉnh sửa nội dung nào đó trong tệp mới này do tôi tạo, tôi đã không thể thực hiện các thay đổi, 'Có thể sửa đổi' là lỗi và ...
2) sau khi chạy: đặt sửa đổi và cố gắng lưu, tôi sẽ gặp lỗi e382 là 'không thể ghi, buftype được đặt. Vì vậy, tôi không thể tiết kiệm.
Sau khi đổ hết đống tài liệu mật mã vô dụng, tôi đã tìm ra điều này:
1) tìm thư mục .vimview, đối với tôi nó nằm ở thư mục gốc của kho git của tôi, hãy thực hiện
ls
bên trong nó. tôi có một cái gì đó như thế này:
~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=
Điều này hoàn toàn vô dụng với bạn vì bạn có cấu trúc tệp khác. nhưng hãy tìm tập tin mang đến cho bạn vấn đề (oh btw, đây là những tên tập tin thực tế, điều này hoàn toàn không rõ ràng bằng cách nhìn vào chúng). tìm cái có tệp đang nghi vấn và xóa cái mút đó: ví dụ:
rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
Vấn đề được giải quyết.
Nếu bạn muốn xảy ra một tệp trong NERDTree, bạn cần nhấn "m" (cho menu) sau đó "a". Chỉ cần nhập "a" vào bộ đệm NERDTree sẽ được hiểu là "sửa đổi bộ đệm NERDTree". Thêm: ma sẽ làm cho bộ đệm NERDTree có thể sửa đổi, nhưng điều này sẽ không tạo các tệp mới cho bạn, nó sẽ dẫn đến thông tin không nhất quán giữa những gì NERDTree hiển thị và phân cấp tệp thực tế của bạn.
Trong trường hợp bất kỳ ai khác xảy ra với google về điều này, hãy kiểm tra xem bạn có đang cố mở thư mục trong vim giống như tôi không (d'oh)
Đối với tôi, tôi đã thực hiện các thay đổi bao gồm một thư mục mà sau đó tôi đang cố gắng tạo một tệp trong thư mục mà tôi vừa mới lưu. NERDTree vẫn đang hiển thị cây được cất sẵn với thư mục đó. Sử dụng m
trên một thư mục không tồn tại đã tạo ra lỗi có thể sửa đổi. Tôi nên làm mới cây với r
để xem thư mục không còn ở đó nữa và tại sao nó không thể được sửa đổi.
m
và sau đóa
là thêm một tệp mới trong NERDTree