add persistent undo & ycm
change gitignore