mam
set fileformat=unix
w moim .vimrc
, a mimo to, jeśli utworzę plik w vim
(działający w Cygwin), nadal będzie on tworzył pliki w formacie DOS i muszę je uruchomić, dos2unix
aby je wyczyścić. (Wydaje mi się, że tak naprawdę nie muszę , ponieważ Git czyści je dla mnie, ale po prostu denerwuje mnie to, że edytor tekstu w systemie Unix, który specjalnie poleciłem używać końcówek linii uniksowych, zanieczyszcza je dodatkowymi śmieciami .)
Dlaczego tak się dzieje? Jak mogę to naprawić? (I przez „naprawić” ja nie czegoś wymagającego mi przekonwertować każdy plik osobno. To nie jest poprawka. To, co jest całkowicie zerwane.)
getline
którym okazało się, że cygwin robi coś dziwnego. Rezultatem jest stylCR+LF
uniksowyLF
lub nawet dosLF+CR
. Powinieneś sprawdzić i zobaczyć, jaki styl zakończenia linii skonfigurowałeś w cygwin, ale YMMV. Zobacz także cygwin.com/faq/faq-nochunks.html#faq.api.cr-lfCR+LF
, a nieLF+CR
.set number
linię, która zaczęła obowiązywać i odkomentowała ją, a to zadziałało. Dodałem też „bla bla bla” na dole i dostałem „Naciśnij ENTER lub wpisz polecenie, aby kontynuować”, gdy coś otworzyłem, ale dziwnie nie było wcześniej komunikatu o błędzie (chyba że były to czarne litery na czarnym tle).Odpowiedzi:
Tylko ustawienie
fileformat
może nie wystarczyć, w zależności od kilku czynników. Spróbuj tego:Aby zrozumieć, co one robią, spójrz na
:help fileformats
itp.Myślę, że jestem w stanie odtworzyć twoje problemy, używając
vim.exe
dostarczonych przezgit
w Windows. Korzystanie z powyższych ustawień rozwiązało problem dla mnie. W tym przykładzieset nobinary
skomentowano, ponieważ nie sądzę, abyś go potrzebował, zostawiłem go tam jako wskazówkę, która może pomóc w razie potrzeby dalszego zbadania.źródło