Недавняя проблема* оставила меня задающийся вопросом, существует ли текстовый редактор там, который позволяет Вам видеть каждый символ файла, даже если они невидимы? А именно, я не ищу шестнадцатеричное число, редактирующее возможности, я интересуюсь текстовым редактором, это покажет мне все невидимые символы (не только общий пробел / символы разрыва строки). Маркером BOM является всего один пример, другие, например, математические невидимые операции или возможно неподдерживаемые символы.
Я не ищу текстовый редактор, который просто поддерживает большое разнообразие текстового кодирования / переводы между кодировкой. Все текстовые редакторы я столкнулся с обработкой невидимые символы правильно т.е. оставляю их невидимыми (или просто будьте удалены в переводе как в случае маркера BOM).
Я спрашиваю это главным образом из академических интересов, таким образом, я не слежу ни за какой определенной ОС. Я могу легко протестировать Linux и решения OSX, но если бы Вы рекомендуете редактору Windows, я ценил бы, если Вы включаете описания того, как редактор обрабатывает невидимые операции кроме пробела / разрывы строки.
Править: Я начинаю быть уверенным, что поведение, которое я хочу, может быть реализовано в emacs/vim или через пользовательское выделение или путем бездельничания с самим шрифтом. Решение этого типа также было бы приемлемо.
EDIT2: После рассмотрения нескольких опций я нашел TextMate, который, по крайней мере, показывает пробел, где невидимый символ UTF-8 находится в файле. Немного разочарованный способностью SO ответить на мой вопрос. Щедрость переходит к VIM, потому что это - направление, в котором, скорее всего, находится решение.
*Инцидент, которые приводят меня к этому вопросу: Я записал использованию сценария жемчуга TextWrangler и сумел изменить кодирование на UTF8 BOM, который вставляет маркер BOM в начале файла. Perl (или скорее операционная система) быстро пропускает #! и погром следует. Это затем приняло мне лучшее участие дня для понимания этого, так как большинство текстовых редакторов не показывает, что маркер BOM даже с различным "показывает невидимые операции" включенные варианты. Теперь я извлек свой урок и буду использовать less
сразу :-).
vim (в текстовом или графическом режиме) может отображать все управляющие символы, если вы : установить список
. Спецификация - это особый случай, управляемый командами : установить бомбу
или : установить nobomb
.
В диалоговом окне Открыть файл Visual Studio рядом с кнопкой Открыть есть стрелка вниз, позволяющая вы выбираете Открыть с помощью ... . Одна из опций в появившемся диалоговом окне - Двоичный редактор .
Я использовал это время от времени, чтобы обнаружить какого-нибудь невидимого персонажа или решить проблему с окончанием строки.
Я предпочитаю UltraEdit , хотя он и платный. Он очень способен отображать скрытые символы, включая надежный режим просмотра HEX. (Я не связан с издателем, IDM.)
Я не уверен, поскольку я не использовал его некоторое время, но я помню, что SciTE был хорошим инструментом, который показал мне «слишком много информации» для моих нужд.
Блокнот программиста в Windows может работать.
TextPad (Это nagware, работает в Windows)
Я не уверен, какие из них будут отображать скрытые символы из коробки, но все они созданы для "занудных" вещей, поэтому я предполагаю, что они будут работать, по крайней мере, с небольшой настройкой. Я могу проверить, что Блокнот программиста показывает «скрытые» символы.
Я столкнулся с теми же ограничениями - моя конкретная проблема заключается в необходимости отображать такие символы, как U + 200B, пространство нулевой ширины и U + 200C, не соединяющийся с нулевой шириной. (Используется в электронных текстах на таких языках, как кхмерский, в которых слова не разделяются пробелами.) В отличие от вас, вместо «платформа не имеет значения» мне нужен редактор с версиями Windows и Linux, желательно и Mac.
Я не нашел текстовых редакторов, которые позволили бы вам отображать их на экране, хотя некоторые (многие?) Позволят вам ввести их и будут правильно обрабатывать их как символы, которые можно вырезать и вставлять, и чье присутствие указано перемещением курсора. (То есть, если на экране отображается «if» и есть три ZWSP между «i» и «f», вам нужно четыре раза нажать клавишу со стрелкой, чтобы перейти от «i» к «f»)
TextPad 4.7.В остальном я предпочитаю текстовый редактор 3, но он очень ограничен в приеме скриптов; и TextPad 5 точно не показывает эти невидимки.
Я часто прибегал к открытию своих файлов в OpenOffice.org Writer , который показывает серую косую черту в месте нахождения этих персонажей с включенными невидимками, и Microsoft Word , который отображает двойной прямоугольник (прямоугольник внутри прямоугольника) для таких невидимых объектов. Этот двойной прямоугольник имеет ширину и меняет разрывы строк на экране, что нетривиально и чего я не видел ни в одном другом редакторе.
Откройте файл в EMACS и сделайте M-X hexl-mode. Вы получите следующее отображение:
87654321 0011 2233 4455 6677 8899 aabb ccdd eeff 0123456789abcdef 00000000: 2320 2020 2020 2020 2020 2020 2020 2020 # 00000010: 2020 2020 2020 2020 2020 2020 2020 2020 00000020: 2020 2020 2020 2020 2020 2020 2020 2020 00000030: 2d2a 2d20 4175 746f 636f 6e66 202d 2a2d -*- Autoconf -*- 00000040: 0a23 2050 726f 6365 7373 2074 6869 7320 .# Process this 00000050: 6669 6c65 2077 6974 6820 6175 746f 636f file with autoco 00000060: 6e66 2074 6f20 7072 6f64 7563 6520 6120 nf to produce a 00000070: 636f 6e66 6967 7572 6520 7363 7269 7074 configure script 00000080: 2e0a 2320 4f72 6465 7220 6973 206c 6172 ..# Order is lar 00000090: 6765 6c79 2069 7272 6576 656c 6c61 6e74 gely irrevellant 000000a0: 2c20 616c 7468 6f75 6768 2069 7420 6d75 , although it mu 000000b0: 7374 2073 7461 7274 2077 6974 6820 4143 st start with AC 000000c0: 5f49 4e49 5420 616e 6420 656e 6420 7769 _INIT and end wi 000000d0: 7468 2041 435f 4f55 5450 5554 0a23 2053 th AC_OUTPUT.# S 000000e0: 6565 2068 7474 703a 2f2f 6175 746f 746f ee http://autoto 000000f0: 6f6c 7365 742e 736f 7572 6365 666f 7267 olset.sourceforg 00000100: 652e 6e65 742f 7475 746f 7269 616c 2e68 e.net/tutorial.h