vim “değiştirilebilir” kapalı


147

Nerd ağacı ile yeni bir dosya oluşturmaya çalışıyorum. aYeni bir dosya oluşturmak için tuşa basıyorum ve mesajı alıyorum:

E21: Cannot make changes, 'Modifiable' is off

MacVim ve Janus kullanıyorum (neredeyse kutunun dışında)


2
fyi: mve sonra aNERDTree'de yeni bir dosya ekleyecek
Leighton

Yanıtlar:


233
:set ma

ki bunun için kısadır

:set modifiable

bir arabellek değiştirilebilir. Ve

:set noma

tam tersini yapar.


4
Bu cevaba + 1'leyin. Google, arabellekteki değiştirilebilir bayrağı kapatmanın yolunu ararken bu sayfayı gösterir.
Sebastián Grignoli

Herkes NERDTree sildim nasıl UNDO biliyor mu? 'dd' gibi ve sonra 'u' denedim ve hiçbir şey olmuyor
betoharres

6
Ayrıca :set buftype: " "değişiklik sonrası dosyayı yazmak için kullanmak zorunda kaldım (daha sonra mesaj oldu Cannot write, 'buftype' option is set)
Julien Carsique

18

NerdTree'ye aşina değilim ama abir nerdtree görünümüne yazarak , "nerdtree tamponuna bir şey eklemek istiyorum" olarak yorumlandığını ve bu tamponun değiştirilemeyeceğini tahmin ediyorum.

Nerdtree ile nasıl dosya ekleneceğini açıklayan bir dosya ekleyerek bu cevap vim ve NERD Tree uzantısını kontrol edebilirsiniz .


10
Doh, ben m, sonra a.
wesbos

1
İşte bu, NERDTree'nin yardımını kontrol etmek, ayeni metin eklemeyi denemesine neden olacak eşleme yok .
sidyll

3

Bu benim için çalıştı:

:set buftype=
:w

sonra ne eklemelisiniz =?
CodeMonkey

Hiçbir şey değil. Bu araçlar için boş değer asignbuftype
mipmip

2

Tamam, bu vim veya linux hakkında çalışma bilgisine sahip olmadığım için en bilinçli cevap olmayabilir, Ama sorunuma çözüm buldum ve sizin için işe yarayabilir. Spesifik olarak, Sorunum iki yönlü oldu:

1) Oluşturduğum bu yeni dosyada bir şey düzenlemeye çalıştığımda, Değişiklikler yapılamıyor, 'Değiştirilebilir' kapalı hatası ve ...

2) çalıştırdıktan sonra: değiştirilebilir ve kaydetmeye çalışırken, 'yazamıyorum, buftype ayarlanmış bir e382 hatası alırdım. bu yüzden kurtaramadım.

Yararsız şifreli belgelerin boğazlarını döküldükten sonra bunu anladım:

1) .vimviews dizinini bulun, benim için git depomun kökündeydi,

ls 

içinde. böyle bir şey var:

~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=

Farklı bir dosya yapınız olduğundan tamamen sizin için yararsızdır. ancak size soruna neden olan dosyayı arayın. (oh btw, bunlar aslında dosya isimleridir, onlara bakıldığında tamamen açık değildir). söz konusu dosyayı içeren dosyayı bulun ve o enayi silin: örnek:

rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=

Sorun çözüldü.


1
Ayrıca NerdTree ile çalışırken bu sorunu aldık. Bu yalnızca soruna neden olan vim oturumundan çıktıktan sonra işe yaradı. Sanırım bu "görünümü" sıfırlamaya devam etti.
John

2

NERDTree'de bir dosya olmak istiyorsanız, önce "m" ye (menü için), ardından "a" ya basmanız gerekir. NERDTree tamponuna sadece "a" girilmesi "NERDTree tamponunu değiştir" olarak yorumlanacaktır. Ekleme: ma, NERDTree arabelleğini değiştirilebilir hale getirecek, ancak bu sizin için yeni dosyalar oluşturmayacak, NERDTree'nin görüntülediği şey ile gerçek dosya hiyerarşiniz arasında tutarsız bilgiye yol açacaktır.


0

Başka birisinin bunu Google'a yapması durumunda, vim'de benim gibi bir dizin açmaya çalışmadığınızı kontrol edin (d'oh)


1
Dizinleri Vim'de açabilirsiniz. Varsayılan olarak Netrw'yi başlatır.
htmldrum

Örneğin, bir dizindeki dosyaları seçebilirsiniz:: cw adlarında bazı değişiklikler yapabilir ve kaydedebilir
Karolius

0

Benim için, daha sonra sadece sakladığım o dizin içinde bir dosya oluşturmaya çalıştığım bir dizini içeren saklı değişiklikler vardı. NERDTree hala bu dir ile önceden saklanmış ağacı gösteriyordu. mVarolmayan bir dizin üzerinde kullanmak değiştirilebilir hata üretti. rDir artık yoktu ve neden değiştirilemediğini görmek için ağacı yenilemiş olmalıydım .

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.