Отображение невидимых символов в vim

когда я компилирую свой исходный код с Latex, я получаю следующее сообщение об ошибке

Unicode char u8: не настроен для использования с LaTeX.

теперь я подозреваю, что это связано с невидимым символом. Команда :set list не показывает ничего подозрительного и :set display+=uhex, Кажется, не работает для меня. этой сообщение позволяет мне предположить, что у меня также есть что-то подозрительное.

есть ли способ в vim показать все моя файл, который не печатаемый символ? Я использую MacVim версии 7.3 (53).

3
задан Community
25.04.2023 19:33 Количество просмотров материала 3285
Распечатать страницу

3 ответа

вы можете:

:setlocal display=uhex

для отображения не-ASCII-символов с их hex-число. и вы также можете попробовать highlite непечатаемые символы:

:set hlsearch
/\(\p\|$\)\@!.

то есть isprint опция, которая контролирует, какие символы "для печати".

если это не поможет, вы можете :%!xxd и проверьте байт за байтом, если есть что-то "подозрительное" вокруг места, где вы столкнулись с проблемой.

4
отвечен akira 2023-04-27 03:21

альтернативой использованию vim является запуск

tr -d '[a-zA-Z0-9!#@_?+ \t\n\()"^~`%-]'\'{} < your_latex_file.tex | hexdump -c

Это должно дать вам информацию о том, что символы, которые не находятся в пределах нормального диапазона печатаемых символов.

1
отвечен hlovdal 2023-04-27 05:38

Vim обычно показывает что-то для каждого символа в файле, за исключением пробелов, табуляций и символов в конце строки. Я не думаю, что это скрытая проблема символов; я думаю, что это проблема кодирования файлов. Я думаю, что Vim использует UTF-8 для кодирования некоторых символов в вашем файле, а LaTeX ожидает ASCII или Latin1. (Я использую ASCII почти исключительно, поэтому я, конечно, не эксперт в других кодировках.)

для проверки кодировки, используемой Vim, выполнить

:set enc?

Я предполагаю, что это вернет "utf-8". Одним из решений может быть сохранение файла с кодировкой Latin1. Для этого выполните

:set fenc=latin1
:w

если вместо этого вы хотите найти в файле символы, отличные от ASCII, и изменить их там, где это необходимо, найдите символы в диапазоне от 0x80 до 0xff, используя

/[\x80-\xff]

чтобы узнать больше об использовании Vim различных кодировок, смотрите

:help enc
:help fenc
:help 45.3
0
отвечен garyjohn 2023-04-27 07:55

Постоянная ссылка на данную страницу: [ Скопировать ссылку | Сгенерировать QR-код ]

Ваш ответ

Опубликуйте как Гость или авторизуйтесь

Имя
Вверх