Недавняя проблема * заставила меня задуматься, существует ли текстовый редактор, который позволяет вам видеть каждый символ файла, даже если они невидимы? В частности, я не ищу возможности редактирования в шестнадцатеричном формате, меня интересует текстовый редактор, который покажет мне все невидимые символы (а не только обычные символы пробелов / разрыва строки). Маркер спецификации - это лишь один пример, другие, например, математические невидимые объекты или, возможно, неподдерживаемые символы.
Я не ищу текстовый редактор, который просто поддерживает большое количество различных кодировок / переводов текста между кодировками. Все текстовые редакторы, с которыми я сталкивался, правильно обрабатывают невидимые символы, т.е. оставляют их невидимыми (или просто удаляются при переводе, как в случае маркера спецификации).
Я спрашиваю об этом в основном из академических интересов, поэтому я не особо привязан к какой-либо конкретной ОС. Я могу легко протестировать решения для Linux и OSX, но если вы порекомендуете редактор Windows, я был бы признателен, если бы вы включили описание того, как редактор обрабатывает невидимые объекты, кроме пробелов / разрывов строк.
РЕДАКТИРОВАТЬ: Я начинаю быть уверенным, что желаемое поведение может быть реализовано в emacs / vim либо с помощью настраиваемой подсветки, либо путем возни с самим шрифтом. Решение этого типа также было бы приемлемым.
EDIT2: просмотрев несколько вариантов, я нашел TextMate, который, по крайней мере, показывает пустое пространство, где в файле находится невидимый символ UTF-8. Слегка разочарован способностью SO ответить на мой вопрос. Баунти переходит в VIM, потому что это то направление, в котором, скорее всего, лежит решение.
* Инцидент, который привел меня к этому вопросу: я написал сценарий Perl с помощью TextWrangler и мне удалось изменить кодировку на UTF8 BOM, которая вставляет маркер BOM в начало файла. Perl (или, скорее, операционная система) сразу пропускает #! и наступает хаос. На то, чтобы понять это, мне потребовалось больше дня, поскольку большинство текстовых редакторов не отображают маркер спецификации даже при включенных различных параметрах «показывать невидимые объекты». Теперь я усвоил урок и сразу буду использовать less
:-).