Notepad++
Notepad++ is a popular advanced text editor for Windows which offers a number of features and expandability, such as for an XML plugin.
It also offers auto-completion for a given language, and support for TEI elements and attributes can be added. You can hit control-space after you start typing to select the precise tag or attribute you are seeking. See http://notepad-plus.sourceforge.net/uk/auto-completion-HOWTO.php for more details on how to use auto-completion.
To add auto-completion for TEI specifically, add the following terms to a file, saving it as xml.api, and placing it within your Notepad++ application file (under Program Files usually) and within the subfolders /plugins/APIs .
(Note: you can add back in s*e*x (without the marks) to the list since it was auto-disallowed by the wiki, due to SPAM filtering)
ab abbr absolute accMat acquisition activity actor add additional additions addName address addrLine addSpan adminInfo affiliation age agent alt altGrp altIdent altIdentifier am analytic anchor anchored app appInfo application arc argument att attDef attList attRef atts author authority availability back bibl biblFull biblScope biblStruct bicond binary binaryObject binding bindingDesc birth bloc body broadcast byline c caesura calendar camera caption case castGroup castItem castList catchwords catDesc category catRef cb cell cert certainty change channel char charDecl charName charProp choice cit cl classCode classDecl classes classSpec climate closer code collation collection colloc colophon cols commodity cond condition constitution content copyOf corr correction corresp country creation cRef cRefPattern custEvent custodialHist damage damageSpan datatype date dateline death decls decoDesc decoNote def default defaultVal del delim delSpan depend depth derivation desc dictScrap dimensions distinct distributor district div div1 div2 div3 div4 div5 div6 div7 divGen docAuthor docDate docEdition docImprint docLang docTitle doctype domain domains dur dur-iso ed edition editionStmt editor editorialDecl education eg egXML eLeaf elementSpec email emph encoding encodingDesc entry entryFree eol epigraph epilogue equipment equiv eTree etym evaluate event evidence ex exclude exemplum expan expand explicit extent f facsimile factuality faith fDecl fDescr figDesc figure fileDesc filiation filter finalRubric fLib floatingText floruit foliation foreign forename forest forestGrp form formula from front fs fsConstraints fsdDecl fsDecl fsDescr fsdLink function funder fvLib fw g gap gen generate genName geo geoDecl geogFeat geogName gi gloss glyph glyphName gram gramGrp graph graphic group hand handDesc handNote handNotes handShift head headItem headLabel height heraldry hi history hom hyph hyphenation ident idno if iff imprimatur imprint incident incipit index indexName iNode institution interaction interp interpGrp interpretation interval item iType join joinGrp key keywords kinesic l label lacunaEnd lacunaStart lang langKnowledge langKnown language langUsage layout layoutDesc lb lbl leaf lem length level lg link linkGrp list listBibl listNym listOrg listPerson listPlace listRef listWit locale localName location locus m macroSpec mapping marks matchPattern material maxOccurs measure measureGrp meeting memberOf mentioned mergedin metDecl method metSym milestone mimeType minOccurs mode module moduleRef moduleSpec monogr mood move msContents msDesc msIdentifier msItem msItemStruct msName msPart musicNotation n name nameLink namespace nationality next node norm normalization notAfter notation notBefore note notesStmt ns num number numeric nym nymRef objectDesc occupation occurs offset opener opt oRef org orgName orig origDate origin origPlace orth oVar p part particDesc pattern pause pb per performance persName person personGrp phr physDesc place placeName population pos postBox postCode postscript predeclare pRef prefix preparedness prev principal profileDesc projectDesc prologue pron provenance ptr publicationStmt publisher pubPlace purpose pVar q quotation quote rdg rdgGrp re reason recordHist recording recordingStmt ref refsDecl refState reg region relatedItem relation relationGrp remarks rend render rendition replacementPattern repository residence resp respons respStmt restore result revisionDesc rhyme role roleDesc roleName root row rows rs rubric s said salute sameAs sample samplingDecl scale schemaSpec scheme scope scriptStmt seal sealDesc secFol seg segmentation select sense series seriesStmt set setting settingDesc settlement shift sic signatures signed since soCalled socecStatus social sortKey sound source sourceDesc sp space span spanGrp spanTo speaker specDesc specGrp specGrpRef specList split sponsor stage stamp start state status stdVals street stress string stringVal subc subst subtype summary superEntry supplied support supportDesc surface surname surrogates syll symbol synch table tag tagsDecl tagUsage target targetEnd targetLang targets targFunc taxonomy tech TEI teiCorpus teiHeader term terminal terrain text textClass textDesc textLang then time timeline title titlePage titlePart titleStmt tns to trailer trait tree triangle type u unclear unicodeName unit uri url usage usg val valDesc valItem valList vAlt value variantEncoding vColl vDefault version view vLabel vMerge vNot vocal vRange w watermark weights when who width wit witDetail witEnd withId witness witStart writing xml:base xml:id xml:lang xml:space xr zone