Кто-нибудь знает текстовый редактор в 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", войдите в "Настройки" и выберите "Нарисовать новые линии"
Используя VSCode, вы можете установить конец строки.
Sublime Text 3 имеет плагин RawLineEdit, который будет отображать окончания строк и разрешать вставку произвольного типа окончания строки
shift + ctrl + p и start введите имя плагина и переключитесь, чтобы показать конец строки.
Ответ 8
с помощью cat и -A вы можете видеть новые строки как $, вкладки как ^I
cat -A myfile

