Joshy wrote
My Xor looks different then the one in the book and is acting like an AND gate. only outputting 1 if a and b are 1
So you implemented something different than the circuit shown and it behaves differently. That doesn't seem too surprising.
How can anyone provide comments or feedback on what you've done or why it is behaving the way that it is when all you've given us to work with is that it is different that the Xor implementation in the book? Perhaps what you implemented behaves like an And gate because what you implemented is an And gate.
As for editing .hdl files, they are simply text files, so edit them with any text file editor, such as Notepad or Notepad++ or whatever comes with your (unstated) operating system. Don't use a document editor like Word as these files are NOT saved as text files.