у меня есть
set fileformat=unix
по моему .vimrc
, и все же, если я создаю файл вvim
(запущенный в Cygwin), он сохраняется при создании файлов в формате DOS, и мне нужно запустить их, dos2unix
чтобы очистить их. (Думаю, мне это не нужно , так как Git очищает их для меня, но меня просто умирает, что текстовый редактор Unix, который я специально дал указание использовать окончания строк Unix, загрязняет их дополнительным мусором .)
Почему это случилось? Как я могу это исправить? (И под словом «исправить» я не подразумеваю то, что требует от меня преобразования каждого файла в отдельности. Это не исправление. Это то, что полностью сломано.)
getline
, в результате которого cygwin сделал что-то странное. В результатеCR+LF
вместо UnixLF
или даже DOS стильLF+CR
. Вы должны проверить и посмотреть, какой стиль окончания строки вы настроили в cygwin, кроме YMMV. См. Также cygwin.com/faq/faq-nochunks.html#faq.api.cr-lfCR+LF
, а неLF+CR
.set number
строку, и она вступила в силу, и раскомментировала ее, и это вступило в силу. Я также добавил «бла-бла-бла» внизу и получил «Нажмите клавишу ВВОД или введите команду, чтобы продолжить», когда я что-либо открыл, но странным образом до этого не было сообщения об ошибке (если только это не были черные буквы на черном фоне).Ответы:
Только настройки
fileformat
может быть недостаточно, в зависимости от нескольких факторов. Попробуй это:Чтобы понять, что они делают, посмотрите
:help fileformats
и т. Д.Я думаю, что я могу воспроизвести ваши проблемы, используя
vim.exe
предоставленныеgit
в Windows. Использование вышеуказанных настроек решило проблему для меня. В примереset nobinary
закомментировано, потому что я не думаю, что вам это нужно, я оставил его там в качестве подсказки, которая может помочь в случае, если вам нужно продолжить расследование.источник