Notepad++ показывает все скрытые символы?

В Notepad++ я установил "заменить табуляцию на 2 пробела".

При кодировании на Python я скопировал некоторый код из Интернета, и он выглядел правильно с отступом. Но запуск кода привел к ошибкам отступа, которые я решил, в конце концов, удалив все "видимые" пробелы в начале строки и снова вставив такое же количество пробелов.

Возможно ли, что Notepad++ на основе Scintilla не отображает все специальные символы, а отображает их в виде пробелов? Есть ли настройка, чтобы это исправить?

7 ответов

Решение

Да, это так. Способ включить это зависит от вашей версии Notepad++. На более новых версиях вы можете использовать:

Вид меню → Показать символ → * Показать все символы`

или же

Вид меню → Показать символПоказать пробел и вкладку

(Спасибо комментариям bers и ответам bkaid ниже для этих обновленных локаций.)


В старых версиях вы можете искать:

Вид меню → Показать все символы

или же

Вид меню → Показать пустое пространство и TAB

В более новых версиях Notepad++ (в настоящее время 5.9) эта опция находится под:

View->Show Symbol->Show All Characters

или же

View->Show Symbol->Show White Space and Tab

Дважды проверьте ваш текст с помощью плагина Hex Editor. В вашем случае, возможно, были некоторые управляющие символы, которые проникли в ваш текст. Обычно вы смотрите на пробел, и он говорит: 32 32 32 32 или для Unicode 32 00 32 00 32 00 32 00. Вы можете найти проблему таким образом, при условии, что нет большого количества кода.

Загрузите Hex Plugin отсюда; http://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/

Нет. По крайней мере не изначально без плагинов.

Да, N++ показывает почти все непечатаемые символы, но не все из них, даже с включенной опцией «Показать все символы».

Например, U+200Bили же U+FEFFили же U+A0не отображаются, даже при включении «Показать все символы».


Возьмем этот образец из онлайн-инструмента :


Вот как это выглядит в N++:


NB: Notepadd ++ «видит» эти символы, потому что, если вы перемещаете курсор с помощью клавиш со стрелками, он не будет двигаться еще на одно нажатие клавиши после каждой точки в строке 3. Но он не отображает их, даже с «Отображать все символы». " опции.

Отказ от ответственности: этот вопрос был о пробелах, но заголовок более широкий, и это первый результат в поисковой выдаче при поиске «отображение всех символов на N++».

Да, и, к сожалению, вы не можете отключить их или любые другие специальные символы. Параметры в разделе \View\Show Symbols включают или выключают только такие вещи, как табуляции, пробелы, EOL и т. Д. Поэтому, если вы хотите прочитать какой-то непонятный код с текстом в нем - вам действительно нужно поискать в другом месте. Я также посмотрел на изменение кодировки, ASCII не указан, и это все равно не сделает беспорядок невидимым.

Для непечатаемых символов вы можете сделать следующее:

  • если вы можете определить символ, для перемещения курсора требуется 2 клавиши со стрелками, просто выберите этот символ.
  • сделать Ctrl-F
  • теперь вы можете посчитать или заменить или даже пометить все такие символы

В Notepad++ v8.4.8 (и, возможно, более ранних версиях) необходимо использовать плагин. Использование плагина Converter (автор версии 4.5 До Хо) конвертера ASCII в HEX ( Плагины -> Конвертер -> ASCII в HEX ) может выявить такие символы и сработало для меня.

Другие вопросы по тегам