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 ) может выявить такие символы и сработало для меня.