vimvv có thể sửa đổi


147

Đang cố gắng tạo một tệp mới với cây mọt sách. Tôi nhấn aphím để tạo một tệp mới và tôi nhận được thông báo:

E21: Cannot make changes, 'Modifiable' is off

Tôi đang sử dụng MacVim và Janus (gần như hoàn toàn)


2
fyi: mvà sau đó alà thêm một tệp mới trong NERDTree
Leighton

Câu trả lời:


233
: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.


3
+1 cho câu trả lời này. Google hiển thị trang này khi bạn tìm kiếm cách tắt cờ có thể sửa đổi trong bộ đệm.
Sebastián Grignoli

Có ai biết làm thế nào để tôi HIỂU những gì tôi đã xóa trong NERDTree không? như 'dd' và sau đó tôi đã cố gắng 'u' và không có gì xảy ra
betoharres

6
Tôi cũng đã phải sử dụng :set buftype: " "để viết tệp sau khi sửa đổi (sau đó là tin nhắn Cannot write, 'buftype' option is set)
Julien Carsique

18

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.


10
Doh, đó là m, sau đó a.
wesbos

1
Đó là nó, kiểm tra trợ giúp cho NERDTree không có aánh xạ, điều này sẽ khiến nó thử nối thêm văn bản mới.
sidyll

3

Điều này làm việc cho tôi:

:set buftype=
:w

bạn cho là gì sau khi thêm =?
CodeMonkey

Không có gì. Điều này có nghĩa là gán một giá trị trống chobuftype
mipmip

2

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.


1
Cũng đã nhận được vấn đề này khi làm việc với NerdTree. Điều này chỉ hoạt động sau khi thoát khỏi phiên vim gây ra vấn đề. Tôi đoán rằng nó tiếp tục đặt lại "quan điểm" này.
Giăng

2

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.


0

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)


1
Bạn có thể mở các thư mục trong Vim. Theo mặc định, nó sẽ khởi chạy Netrw.
htmldrum

Ví dụ, bạn có thể chọn các tệp trong một thư mục ,: cw thực hiện một số thay đổi đối với tên của chúng và lưu nó
Karolius

0

Đố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 mtrê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.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.