For instance, how to show "_msg" from the search result? Thanks.
| makeresults
| eval _msg="Hello World"
You can rename the field to not start with an underscore, and then Splunk will display it:
| makeresults
| eval _msg="Hello World"
| rename "_msg" AS "msg"
If you have many fields that start with underscores, you could do this:
| makeresults
| eval _msg="Hello World"
| rename "_*" AS "*"
Note that this will also display and convert other internal fields, like _time.
If you are wondering why you need to rename them at all, it's because Splunk uses underscores to identify internal fields:
https://docs.splunk.com/Splexicon:Internalfield
http://docs.splunk.com/Documentation/SplunkCloud/7.0.0/Knowledge/Usedefaultfields