Vim показывает новую строку в конце файла
Используя параметр set eol
, Vim автоматически добавляет новую строку в конец файла при ее сохранении. У меня есть этот вариант, но я хотел бы видеть эту новую строку в Vim, поэтому я знаю, что она на самом деле там.
Например, с файлом в Vim: ![Vim screenshot]()
И тот же файл в TextMate: ![TextMate screenshot]()
Это всегда меня обманывает, и я заканчиваю тем, что добавляю вторую новую строку и в конечном итоге реализую ее позже. Этот тот же вопрос был отправлен здесь, но ответ, который был принят, не ответил на эту часть вопроса.
Использование set list
: ![List screenshot]()
Я вижу, что есть символ $
, обозначающий новую строку после последней строки, но это также помещает остальную часть файла вместе с ними. Я знаю, что могу настроить переключатель для этого, но я бы предпочел поведение TextMate как.
Ответы
Ответ 1
'endofline'
включен по умолчанию, поэтому вам не нужно его в ~/.vimrc
.
EOL или "новая строка" не означает, что "здесь есть пустая строка", это означает, что "это отмечает конец строки, любые другие символы должны отображаться на другой строке". "newline"!= "новая строка".
Последняя строка вашего файла - # 21, и она заканчивается символом "новой строки". Поскольку нет фактической строки после символа "новой строки", строка № 22, показывающая строку # 22, не только ошибочна, но и вводит в заблуждение.
Неправильное поведение TextMate.
Правильное поведение Vim.
Если вы хотите, чтобы Vim показывал строку # 22, вам нужно явно добавить эту строку, но для меня это звучит довольно глупо.