I am debugging/monitoring a log file containing extensively the control character [SOH]
This makes logs barely unreadable (well, to me, on NP++, but it has to be this way as
Notepad++ is using Scintilla for the editor component. Scintilla has a function SCI_SETCONTROLCHARSYMBOL(int symbol)
where you can set the character that will be used for the control characters. From the Scintilla Docs they describe the functionality:
SCI_SETCONTROLCHARSYMBOL(int symbol)
SCI_GETCONTROLCHARSYMBOL
By default, Scintilla displays control characters (characters with codes less than 32) in a rounded rectangle as ASCII mnemonics: "NUL", "SOH", "STX", "ETX", "EOT", "ENQ", "ACK", "BEL", "BS", "HT", "LF", "VT", "FF", "CR", "SO", "SI", "DLE", "DC1", "DC2", "DC3", "DC4", "NAK", "SYN", "ETB", "CAN", "EM", "SUB", "ESC", "FS", "GS", "RS", "US". These mnemonics come from the early days of signaling, though some are still used (LF = Line Feed, BS = Back Space, CR = Carriage Return, for example).
You can choose to replace these mnemonics by a nominated symbol with an ASCII code in the range 32 to 255. If you set a symbol value less than 32, all control characters are displayed as mnemonics. The symbol you set is rendered in the font of the style set for the character. You can read back the current symbol with the SCI_GETCONTROLCHARSYMBOL message. The default symbol value is 0.
There's probably a "right" way to do this, but I'm going to give you a very hack-y way of accomplishing this.
Edit the file %APPDATA%\Notepad++\shortcuts.xml
using anything EXCEPT Notepad++.
Add the following to the <Macros>
section of the file to manually add a macro:
<Macro name="RemoveControl" Ctrl="no" Alt="no" Shift="no" Key="0">
<Action type="0" message="2388" wParam="32" lParam="0" sParam="" />
</Macro>
Note that you can set a shortcut with the Ctrl
, Alt
, Shift
and Key
attributes. The wParam
will set the character which will be used instead of the spelled-out codes. In this case, code 32
is a Space in the ASCII standard. Message 2388
is the constant for the SCI_SETCONTROLCHARSYMBOL
value.
Save the file
Now you can change the behavior of Notepad++ at runtime. To use this do the following
Open Notepad++ Simply open the editor. If you open a file directly (ie. Edit with Notepad++ context menu) you will get weird behavior.
Activate the macro from the menu (or your shortcut). If there's a way to automate running a macro on startup it would be nice to add it here
Open your file. Nothing new here
If you want to avoid these character in the future select Session Logging feature, as such in Putty, Log "printable output" only. This will take out all the unnecessary Scintilla characters.
Regarding Putty (cached link below):
4.2 The Logging panel
The Logging configuration panel allows you to save log files of your PuTTY sessions, for debugging, analysis or future reference.
The main option is a radio-button set that specifies whether PuTTY will log anything at all. The options are
+"Logging turned off completely". This is the default option; in this mode PuTTY will not create a log file at all.
+"Log printable output only". In this mode, a log file will be created and written to, but only printable text will be saved into it. The various terminal control codes that are typically sent down an interactive session alongside the printable text will be omitted. This might be a useful mode if you want to read a log file in a text editor and hope to be able to make sense of it.
+"Log all session output". In this mode, everything sent by the server into your terminal session is logged. If you view the log file in a text editor, therefore, you may well find it full of strange control characters. This is a particularly useful mode if you are experiencing problems with PuTTY's terminal handling: you can record everything that went to the terminal, so that someone else can replay the session later in slow motion and watch to see what went wrong.
+"Log SSH packet data". In this mode (which is only used by SSH connections), the SSH message packets sent over the encrypted connection are written to the log file. You might need this to debug a network-level problem, or more likely to send to the PuTTY authors as part of a bug report. BE WARNED that if you log in using a password, the password will appear in the log file, so be sure to edit it out before sending the log file to anyone else!
LINK: http://webcache.googleusercontent.com/search?q=cache:L0M6HnWRvowJ:the.earth.li/~sgtatham/putty/0.53b/htmldoc/Chapter4.html+&cd=1&hl=en&ct=clnk&gl=us