vim "dapat dimodifikasi" tidak aktif

147

Mencoba membuat file baru dengan nerd tree. Saya menekan atombol untuk membuat file baru dan saya mendapatkan pesan:

E21: Cannot make changes, 'Modifiable' is off

Saya menggunakan MacVim dan Janus (hampir di luar kotak)

wesbos
sumber
2
fyi: mdan kemudian amenambahkan file baru di NERDTree
Leighton

Jawaban:

233
:set ma

yang merupakan kependekan dari

:set modifiable

akan membuat buffer dapat dimodifikasi. Dan

:set noma

melakukan yang sebaliknya.

Adam Soltys
sumber
4
Memberi +1 pada jawaban ini. Google menampilkan halaman ini ketika Anda mencari cara untuk mematikan bendera yang dapat dimodifikasi dalam buffer.
Sebastián Grignoli
Apakah ada yang tahu bagaimana cara saya TIDAK melakukan apa yang saya hapus di NERDTree? seperti 'dd' dan kemudian saya mencoba 'u' dan tidak ada yang terjadi
betoharres
6
Saya juga harus menggunakan :set buftype: " "untuk menulis file setelah modifikasi (setelah itu pesannya Cannot write, 'buftype' option is set)
Julien Carsique
18

Saya tidak terbiasa dengan NerdTree tapi saya kira bahwa dengan mengetik ake tampilan nerdtree, itu ditafsirkan sebagai "Saya ingin menambahkan sesuatu di buffer nerdtree", dan buffer itu tidak dapat dimodifikasi.

Anda dapat memeriksa jawaban vim dan ekstensi NERD Tree - menambahkan file yang menjelaskan cara menambahkan file dengan Nerdtree.

Xavier T.
sumber
10
Doh, itu m, lalu a.
wesbos
1
Itu saja, memeriksa bantuan untuk NERDTree tidak ada apemetaan, yang akan menyebabkannya mencoba menambahkan teks baru.
sidyll
3

Ini bekerja untuk saya:

:set buftype=
:w
mipmip
sumber
apa yang harus Anda tambahkan setelah =?
CodeMonkey
Tidak ada. Ini berarti menetapkan nilai kosong kebuftype
mipmip
2

Ok, ini mungkin bukan jawaban yang paling tepat karena saya hampir tidak memiliki pengetahuan tentang vim atau linux, tetapi saya telah menemukan solusi untuk masalah saya dan mungkin berhasil bagi Anda. Untuk lebih spesifik, Masalah saya ada dua:

1) setiap kali saya mencoba mengedit sesuatu di file baru yang saya buat ini, saya mendapat Cannot melakukan perubahan, 'Modifikasi' tidak aktif dan ...

2) setelah berjalan: set dapat dimodifikasi dan mencoba untuk menyimpan, saya akan mendapatkan kesalahan e382 'tidak dapat menulis, buftype diatur. jadi saya tidak bisa menyelamatkan.

Setelah menuangkan scro dokumentasi yang tidak berguna saya menemukan ini:

1) menemukan direktori .vimviews, bagi saya itu adalah akar dari repositori git saya, lakukan

ls 

Didalam itu. saya mendapat sesuatu seperti ini:

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

Yang sama sekali tidak berguna bagi Anda karena Anda memiliki struktur file yang berbeda. tetapi cari file yang memberi Anda masalah. (oh btw, ini sebenarnya nama file, yang sama sekali tidak jelas dengan melihatnya). temukan file yang dipertanyakan dan hapus pengisap itu: contoh:

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

Masalah terpecahkan.

Dallas Caley
sumber
1
Juga mendapatkan masalah ini bekerja dengan NerdTree. Ini hanya berfungsi setelah keluar dari sesi vim yang menyebabkan masalah. Saya menduga itu terus mengatur ulang "tampilan" ini.
John
2

Jika Anda ingin terjadi file di NERDTree, Anda harus menekan "m" (untuk menu) lalu "a". Dengan memasukkan "a" di buffer NERDTree akan ditafsirkan sebagai "ubah buffer NERDTree". Menambahkan: ma akan membuat buffer NERDTree dapat dimodifikasi, tetapi ini tidak akan membuat file baru untuk Anda, itu akan menyebabkan info yang tidak konsisten antara apa yang ditampilkan NERDTree dan hierarki file Anda yang sebenarnya.

Jeremy Fouriaux
sumber
0

Seandainya ada orang lain yang melakukan hal ini pada Google, periksa apakah Anda tidak mencoba membuka direktori di vim seperti saya (d'oh)

Max Williams
sumber
1
Anda dapat membuka direktori di Vim. Secara default ini akan meluncurkan Netrw.
htmldrum
Misalnya Anda dapat memilih file dalam direktori,: cw melakukan beberapa perubahan pada nama mereka dan menyimpannya
Karolius
0

Bagi saya, saya telah menyembunyikan perubahan yang termasuk direktori saya kemudian mencoba untuk membuat file di direktori yang saya simpan. NERDTree masih menunjukkan pohon pra-simpanan dengan dir itu. Menggunakan mpada dir yang tidak ada menghasilkan kesalahan yang dapat dimodifikasi. Saya seharusnya menyegarkan pohon dengan rmelihat dir tidak lagi ada dan mengapa tidak bisa dimodifikasi.

Jadam
sumber