Add semantic
Add tramp, used to remote or sudo login etc...
Modify c++ mode