Is there a way to open a HTML file in TextEdit without it rendering the file but just showing it as source (and possibly edit it)?
It is in TextEdit help - search for HTML
If you open an HTML file and don’t see the HTML code, TextEdit is displaying the file in the same way a browser would. You can choose to display the file’s HTML code instead.
To display the code in an HTML file:
Choose File > Open.
Select “Ignore rich text commands.”
Locate the file and click Open.
To always view the code in HTML files, choose TextEdit > Preferences, click “Open and Save,” and then select “Ignore rich text commands in HTML files” below “When Opening a File.”
So it seems you have to choose before opening the file.
Use the ⇧⌘T key combination to render the document you're viewing as plaintext instead of WYSIWYG.
Looks like you can make that a permanent setting TextEdit -> Preferences... and then click the 'Open and Save' tab and you'll see a checkbox to check to turn on 'Ignore rich text commands in HTML files' when opening a new file.
–from old comment by Ian C