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 (teksteditor)|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. *[[Microsoft Notisblokk|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