Teksteditor

En teksteditor (norsk: tekstredigeringsverktøy) er et dataprogram for å redigere ren tekst. Enkle redigeringsverktøy følger med de aller fleste operativsystemer, men det fins også spesialiserte programmer utviklet med tanke på systemadministrasjon og redigering av kildekode.


== Redigering av ren tekst ==
En teksteditor skiller seg fra et tekstbehandlingsprogram ved at den blir brukt til å lage, endre og lagre rene tekstfiler med ulike tegnsett.
Teksteditorer kan ikke vise filer med skjult formatering, slik tekstbehandlere og publiseringsverktøy gjør. Funksjoner som sideoppsett og bildebruk fins ikke, ikke engang enkel formatering som utheving og kursiv. Disse programmene er derfor uegnet til å redigere dokumenter og publikasjoner. For systemadministratorer, programmerere og webutviklere er de likevel et grunnleggende og tiltrengt verktøy på grunn av de spesialiserte funksjonene for tekst.


== Bakgrunn ==
De første teksteditorene – blant annet edlin, som fulgte med MS-DOS – kunne minne om skrivemaskiner, siden de bare arbeidet med én og én linje av gangen. Mange av de tidlige linjeeditorene kunne slette eller sette inn enkelte linjer, eller hele blokker, med tekst. De kunne også flytte en linje eller en tekstblokk til et annet sted i dokumentet. 
Etter hvert ble det utviklet programmer som kunne bruke hele skjermen, og på den måten fikk brukeren se større deler av filen i sammenheng. MS-DOS Editor (edit) og vi for Unix var utbredde programmer, som brukte kommandoer og tastatursnarveier for å endre på og navigere i teksten.
Moderne teksteditorer har ofte menyer og verktøyknapper, slik som andre dataprogrammer med grafiske brukergrensesnitt. Navigering ved hjelp av mus har kommet i tillegg til piltastene.
BBEdit, jEdit, Notepad++ og UltraEdit tilhører siste generasjon grafiske teksteditorer. Flere av disse er programmerbare, på tilsvarende vis som den avanserte, og fremdeles brukte, Emacs-editoren fra foregående generasjon.


== Typer og funksjoner ==
De enkleste teksteditorene er gjerne operativsystemene sine. De kan bare lage, lagre, skrive ut, klippe og lime tekst. Notisblokk (Windows), TextEdit (OS X) gedit (GNOME) og Kate (KDE) er typiske eksempler på slike enkle programmer. Slike programmer er svært raske sett i forhold til tekstbehandlere.
Avanserte teksteditorer kan være frittstående eller kjerne i et integrert utviklingsmiljø (IDE). De er langt kraftigere verktøy for dem som skal redigere kildekode-, (X)HTML- og konfigurasjonsfiler.
Vanlige funksjoner er:

Støtte for ulike tegnsett/formater, som ANSI/ASCII og Unicode
Støtte for ulike programmeringsspråk
Støtte for nettverk, tjenere og Internett-protokoller
Støtte for prosjekter
Støtte for filer som er for store til å få plass i datamaskinminnet
Bruk av tegnmønstre (regulære uttrykk)
Kraftige søk- og teksterstatningsverktøy
Mellomlagring av endringer (revisjonskontroll)
Mellomlagring av flere utklipp
Autofullføring av nøkkelord programmeringsspråkene bruker
Syntaksmerking: Funksjoner, navn og nøkkelord blir gjerne uthevet i forskjellige farger for økt lesbarhet
Enkle metoder for å vise/skjule kodeblokker og for å lage bokmerke i kildekoden
Makroer
Tekst- og filsammenligning
Spesialiserte programtillegg
Integrasjon med verktøy som validatorer, kompilatorer og debuggere, filtrering
Redigering av binærfiler
Stavekontroll