См. Разрывы линии и возврат каретки в редакторе
-
27-09-2019 - |
Вопрос
Кто-нибудь знает о текстовом редакторе на Linux, который позволяет мне просмотреть перерывы линии и возврат каретки? Vim поддерживает эту функцию?
Решение
:set list
В VIM покажет пробел. Конец строк показывают как '$
И возврат каретки обычно показывают как «^M
'.
Другие советы
Не согласиться с официальным ответом:
:set list
буду нет Показать ^ м символов (CRS). Поставка опции -b на vi / vim будет работать. Или, как только VIM загружен, введите :e ++ff=unix
.
VI показывает новые слова (LF персонаж, код x0A
), показывая последующий текст на следующей строке.
Использовать -b
Переключатель для двоичного режима. Например vi -b filename
или vim -b filename --
.
Затем он покажет персонажи CR (x0D
), которые обычно не используются в файлах стилей Unix, как символы ^M
.
Просто чтобы уточнить, почему :set list
не покажет CR как ^M
без e ++ff=unix
и почему :set list
не имеет ничего общего с ^M
.
Внутренне, когда Vim. читает Файл в свой буфер, он заменяет все линейные символы со своим собственным представлением (давайте назовем это $
S). Чтобы определить, какие символы должны быть удалены, он в первую очередь обнаруживает, какие концовки строки формата хранятся в файле. Если есть только CRLF '\r\n'
или только CR '\r'
или только Л.Ф. '\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.
Попробуйте следующую команду.
: установить двоичный
В VIM это должно сделать то же самое, что и используя опцию командной строки «-B». Если вы поместите это в файл запуска (т.е.вимрц), он всегда будет на месте для вас.
На многих * системах NIX есть команда «DOS2UNIX» или «UNIX2DOS», которая может обработать файл и исправить любые предполагаемые проблемы окончания линии. Если нет проблем с концовками строки, файлы не будут изменены.
Я предлагаю вам отредактировать ваш файл .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¶
Вы можете просматривать линии перерыва, используя потрясающий редактор.
Во-первых, если вы не установили:
sudo apt-get install gedit
Теперь установите Гедит плагинов:
sudo apt-get install gedit-plugins
и выберите Нарисуйте пробелы Плагин, введите на предпочтениях и выбрал Нарисуйте новые линии
С использованием Vscode. Вы можете установить Концовки линии расширение.
Сублимный текст 3 имеет плагин под названием Rawneedit. которые будут отображать концовки строки и разрешить вставку произвольного типа линейного конца
shift + ctrl + p
И начните введите имя плагина и переключите, чтобы показать концовку линии.