См. Разрывы строк и возврат каретки в редакторе

Кто-нибудь знает текстовый редактор в Linux, который позволяет мне видеть разрывы строк и возврат каретки? Поддерживает ли Vim эту функцию?

Ответ 1

:set list в Vim будет отображаться пробел. Конец строк отображается как "$", а возврат каретки обычно отображается как "^M".

Ответ 2

Не согласен с официальным ответом:

:set list не будет отображать символы ^ M (CR). Поставка опции -b для vi/vim будет работать. Или, после загрузки vim, введите :e ++ff=unix.

Ответ 3

VI показывает символы новой строки (символ LF, код x0A), показывая последующий текст на следующей строке.

Используйте переключатель -b для двоичного режима. Например, vi -b filename или vim -b filename --.

Затем будут показаны символы CR (x0D), которые обычно не используются в файлах стиля Unix, в качестве символов ^M.

Ответ 4

Просто чтобы пояснить, почему :set list не будет отображать CR как ^M без e ++ff=unix и почему :set list не имеет ничего общего с ^M.

Внутренне, когда Vim считывает файл в его буфер, он заменяет все символы конца строки своим собственным представлением (давайте назовем его $). Чтобы определить, какие символы следует удалить, он сначала определяет, в каком формате окончания строк хранятся в файле. Если имеются только символы CRLF '\r\n' или только CR '\r' или только символы конца строки LF '\n', то для 'fileformat' устанавливается значение dos, mac и unix соответственно.

Когда установлена опция list, Vim отображает символ $, когда произошел разрыв строки, независимо от того, какая опция fileformat была обнаружена. Он использует собственное внутреннее представление переносов строк и того, что отображает.

Теперь, когда вы записываете буфер на диск, Vim вставляет символы конца строки в соответствии с тем, какие параметры fileformat были обнаружены, существенно преобразовывая все эти внутренние $ с соответствующими символами. Если fileformat оказался unix, он просто напишет \n вместо внутреннего разрыва строки.

Хитрость заключается в том, чтобы заставить Vim читать закодированный файл dos как файл unix. Чистый эффект состоит в том, что он удалит все \n, оставив \r нетронутыми, и отобразит их как ^M в вашем буфере. Установка :set list дополнительно покажет внутренние окончания строки как $. В конце концов, вы видите ^M$ вместо закодированных dos разрывов строк.

Также обратите внимание, что :set list не имеет ничего общего с показом ^M. Вы можете проверить это самостоятельно (сначала убедитесь, что вы отключили опцию list), вставив один CR, используя CTRL-V, а затем Enter в режиме вставки. После записи буфера на диск и его повторного открытия вы получите ses ^M несмотря на то, что для опции list установлено значение 0.

Вы можете узнать больше о форматах файлов на http://vim.wikia.com/wiki/File_format или набрав :help 'fileformat' в Vim.

Ответ 5

Попробуйте выполнить следующую команду.

: установить двоичный

В VIM это должно делать то же самое, что использовать параметр командной строки "-b". Если вы поместите это в свой файл запуска (то есть .vimrc), он всегда будет для вас.

Во многих системах * nix существует команда "dos2unix" или "unix2dos", которая может обрабатывать файл и исправлять любые подозрительные проблемы с окончанием строки. Если нет проблем с окончанием строки, файлы не будут изменены.

Ответ 6

Я предлагаю вам отредактировать файл .vimrc для запуска списка команд. Измените файл .vimrc, например:

cat >> ~/.vimrc <<EOF
set ffs=unix
set encoding=utf-8
set fileencoding=utf-8
set listchars=eol:¶
set list
EOF

Когда вы выполняете vim, выполняются команды в .vimrc, и вы можете увидеть этот пример:

My line with CRLF eol here ^M¶

Ответ 7

Вы можете просмотреть строки разрыва, используя gedit редактор.

Во-первых, если вы не установили:

sudo apt-get install gedit

Теперь установите плагины Gedit:

sudo apt-get install gedit-plugins

и выберите плагин " Draw a Spaces", войдите в "Настройки" и выберите "Нарисовать новые линии"

enter image description here

enter image description here

Используя VSCode, вы можете установить конец строки.

Sublime Text 3 имеет плагин RawLineEdit, который будет отображать окончания строк и разрешать вставку произвольного типа окончания строки

shift + ctrl + p и start введите имя плагина и переключитесь, чтобы показать конец строки.

Ответ 8

с помощью cat и -A вы можете видеть новые строки как $, вкладки как ^I
cat -A myfile