Since someone mentionned emacs, I feel obligated to mention vim :)
Much like emacs, a great editor. I have used it alongide the LanguageTool[1] plugin for the spell checking part. I didn't like the fact it required Java (the plugin, not vim) to do it's job, but having spell/grammar checking within vim without having to resort to dirty tricks with Word / LibreOffice was well worth it. [1]http://www.vim.org/scripts/script.php?script_id=3223