user89021
user89021

Reputation: 15170

Does Notepad++ show all hidden characters?

In Notepad++ I have set "replace tab with 2 spaces".

When coding in Python I copy-pasted some code from the web and it appeared indented correctly. But running the code resulted in indentation errors, which I solved in the end by removing all "visible" spaces at line beginnings and inserting the same amount of spaces again.

Could it be possible that Scintilla based Notepad++ does not show all special characters, but displays them as spaces? Is there a setting to fix this?

Upvotes: 290

Views: 448491

Answers (7)

Deepak
Deepak

Reputation: 4072

In Notepad++ v8.4.8 (and probably earlier versions) a plugin needs to be used. Using the Converter plugin's (v4.5 author Do Ho) ASCII to HEX converter (Plugins -> Converter -> ASCII to HEX) can reveal such characters and worked for me

Upvotes: 0

4wk_
4wk_

Reputation: 2743

No, it does not. At least not natively without plugins.

Yes, N++ does show almost all non printable char, but not all of them, even with the option "Show all characters" toggled on.

For instance, U+200B or U+FEFF or U+A0 are not displayed, even when toggling ON "Show all char".


Let's take this sample, from an online tool: An online tool that DOES display all char


Here is what it looks like in N++:

Notepadd++ does NOT display all char


NB: Notepad++ does "see" those characters, because if you move your cursor with the arrow keys, it will not move for one more keystroke after each dot on line 3. But it doesn't display them, even with "Display all characters" options.

Disclaimer: This question was about spaces, but the title is more broad, and this is the first result on SERPs when searching about "displaying all chars on N++".

Upvotes: 10

Yes, and unfortunately you cannot turn them off, or any other special characters. The options under \View\Show Symbols only turns on or off things like tabs, spaces, EOL, etc. So if you want to read some obscure coding with text in it - you actually need to look elsewhere. I also looked at changing the coding, ASCII is not listed, and that would not make the mess invisible anyway.

Upvotes: 1

Steve Willcock
Steve Willcock

Reputation: 26889

Yes, it does. The way to enable this depends on your version of Notepad++. On newer versions you can use:

Menu ViewShow Symbol → *Show All Characters`

or

Menu ViewShow SymbolShow White Space and TAB

(Thanks to bers' comment and bkaid's answers below for these updated locations.)


On older versions you can look for:

Menu ViewShow all characters

or

Menu ViewShow White Space and TAB

Upvotes: 448

MPD
MPD

Reputation: 21

For non-printing characters, you can do the following:

  • if you could identify the character, where cursor takes 2 arrow keys to move, just select that character.
  • do Ctrl-F
  • now you can count or replace or even mark all such characters

Upvotes: 2

wonea
wonea

Reputation: 4969

Double check your text with the Hex Editor Plug-in. In your case there may have been some control characters which have crept into your text. Usually you'll look at the white-space, and it will say 32 32 32 32, or for Unicode 32 00 32 00 32 00 32 00. You may find the problem this way, providing there isn't masses of code.

Download the Hex Plugin from here; http://sourceforge.net/projects/npp-plugins/files/Hex%20Editor/

Upvotes: 17

bkaid
bkaid

Reputation: 52093

In newer versions of Notepad++ (currently 5.9), this option is under:

View->Show Symbol->Show All Characters

or

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

Upvotes: 108

Related Questions