I do not think it is possible to create an editor with that degree of smarts
For example, a simple editor cannot know if a G00 or a G01, or a Z movement is incorrectly placed, because it has no method of verifying the original code, nor the changed code.
But, there is a need for the checks to be done as you have indicated. But, the current methods that I know of, consist of cadcam software that uses known "safe sequencing" to produce gcode that already has G00 and G01 correctly placed, every time, and tool change codes that are correctly formatted for use every time.
Things like work offsets are modal, and most often can be safely inserted in what we call "safety lines" near the beginning of the program. Again, a simple editor is not going to know if "G54" is the correct one to be using, or not. But, a properly configured machine post will take care of the actual insertion of a given work offset.
In simple terms, create small macros for use for your start lines, tool change lines, and end program lines, that contain the necessary info that needs to be called every time. Insert those short code sequences into your program and save yourself the nuisance of remembering to do them all the time. They will require some editing, but at least, they will be present in some form, for you to view and edit (or throw an error which stops the machine if it does not recognise a comment in your macro, due to a lack of editing).
First you get good, then you get fast. Then grouchiness sets in.
(Note: The opinions expressed in this post are my own and are not necessarily those of CNCzone and its management)