Odpowiedzi:
:set ma
co jest skrótem od
:set modifiable
sprawi, że bufor będzie można modyfikować. I
:set noma
robi odwrotnie.
:set buftype: " "
do zapisu pliku po modyfikacji (później była wiadomość Cannot write, 'buftype' option is set
)
Nie znam NerdTree, ale myślę, że pisząc a w widoku nerdtree, jest on interpretowany jako „Chcę dodać coś do bufora nerdtree”, a bufora tego nie można modyfikować.
Możesz sprawdzić odpowiedź vim i rozszerzenie drzewa NERD - dodanie pliku wyjaśniającego, jak dodać plik za pomocą Nerdtree.
a
mapowania, co spowoduje, że spróbuje dołączyć nowy tekst.
To zadziałało dla mnie:
:set buftype=
:w
=
?
buftype
Ok, może to nie być najbardziej świadoma odpowiedź, ponieważ ledwo mam praktyczną wiedzę o vimie lub linuksie, ale znalazłem rozwiązanie mojego problemu i może to zadziałać. Mówiąc konkretnie, mój problem był dwojaki:
1) za każdym razem, gdy próbowałem edytować coś w tym nowym pliku, który utworzyłem, otrzymałem komunikat Nie można wprowadzać zmian, komunikat „Modyfikowalny” jest wyłączony i ...
2) po uruchomieniu: ustaw modyfikowalny i próbując zapisać, otrzymam błąd e382 „nie można pisać, ustawiony jest bufor typu. więc nie mogłem zapisać.
Po wlaniu fragmentów bezużytecznej, tajemniczej dokumentacji, doszedłem do tego:
1) znajdź katalog .vimviews, dla mnie był to katalog główny mojego repozytorium git, wykonaj
ls
w środku tego. mam coś takiego:
~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
~=+www-halo=+test=+lib=+Halo=+Service=+LandmarkTest.php=
~=+www-halo=+test=+lib=+Halo=+Transaction=+AuthnetTest.php=
Co jest dla Ciebie całkowicie bezużyteczne, ponieważ masz inną strukturę plików. ale poszukaj pliku, który powoduje problem. (a tak przy okazji, są to w rzeczywistości nazwy plików, co nie jest wcale oczywiste, patrząc na nie). znajdź ten, który ma ten plik i usuń ten frajer: przykład:
rm ~=+www-halo=+test=+lib=+Halo=+Return2=+HeaderTest.php=
Problem rozwiązany.
Jeśli chcesz zrobić plik w NERDTree, musisz nacisnąć "m" (menu), a następnie "a". Samo wpisanie „a” w buforze NERDTree zostanie zinterpretowane jako „zmodyfikuj bufor NERDTree”. Dodanie: ma uczyni bufor NERDTree modyfikowalnym, ale to nie utworzy dla ciebie nowych plików, doprowadzi to do niespójności informacji między tym, co wyświetla NERDTree, a twoją rzeczywistą hierarchią plików.
Na wypadek gdyby ktoś inny wyszukał to w Google, sprawdź, czy nie próbujesz otworzyć katalogu w vimie, tak jak ja (d'oh)
Dla mnie zachowałem zmiany, które obejmowały katalog, w którym próbowałem utworzyć plik w tym katalogu, który właśnie schowałem. NERDTree nadal pokazywał wcześniej ułożone drzewo z tym reż. Użycie m
na katalogu, który nie istnieje, spowodowało modyfikowalny błąd. Powinienem był odświeżyć drzewo, r
aby zobaczyć, że reż już nie istnieje i dlaczego nie można go zmodyfikować.
m
a następniea
ma dodać nowy plik w NERDTree