# Editor de text

Un editor de text (anglicisme) o tractament de text(o)s és un programa informàtic que permet de crear i modificar documents digitals compostos únicament per text sense format, coneguts comunament com a text pla o text net (així no s'ha de confondre amb un processador de text). El programa llegeix l'arxiu i interpreta els bytes llegits segons el codi de caràcters que usa l'editor. Normalment és de 7- o 8-bits en ASCII o UTF-8, rares vegades EBCDIC.
Per exemple, un editor ASCII de 8 bits que llegeix el nombre binari 0110 0001 (decimal 97 o hexadecimal 61) a l'arxiu ho representarà a la pantalla amb la figura a, que l'usuari reconeix com la lletra "a" i oferirà a l'usuari les funcions necessàries per canviar el nombre binari a l'arxiu. Els editors de text són inclosos en el sistema operatiu o en algun programari instal·lat i es fan servir quan s'han de crear o modificar arxius de text com configuració, guions o el codi font d'algun programa.
L'arxiu creat per un editor de text inclou per convenció a MS-DOS i Microsoft Windows l'extensió .txt, encara que pot ser canviada a qualsevol altra posteriorment. Tant Unix com GNU/Linux donen a l'usuari total llibertat en la denominació dels seus arxiu.
En traslladar arxius de text d'un sistema operatiu a un altre s'ha de considerar que existeixen almenys dues convencions diferents per assenyalar el final d'una línia: Unix i GNU/Linux fan servir només retorn de carro en canvi Microsoft Windows usa al final de cada línia retorn de carro i salt de línia.

## Diferència entre "text pla" i arxius de text amb diagramació

Els editors de texts "plans" es distingeixen dels processadors de textos en què es fan servir per a escriure només text, sense format i sense imatges, és a dir sense diagramació.
* El text pla és representat a l'editor mostrant tots els caràcters presents a l'arxiu. Els únics caràcters de formatació són els caràcters de control del respectiu codi de caràcters. A la pràctica, aquests són : Salt de línia, Tabulació horitzontal i Retorn de carro. El codi de caràcters més usat l'any 2007 era l'ASCII.
* Los documents creats per un processador de text generalment contenen més caràcters de control per donar-li al text un format o diagramació particular, sovint protegits de ser copiats per una Marca registrada com per exemple negreta, cursiva, columnes, taules, tipografia, etc. En un principi es van fer servir aquests formats només en autoedició, però avui s'utilitzen fins i tot en el processador de text més senzill.
* Los processadors de text -en la majoria dels casos - poden emmagatzemar un text pla en un arxiu de text pla, però s'ha d'ordenar explícitament que es desitja aquesta opció, d'altra manera podria guardar-lo amb algun format especial.

## Història

Abans que existissin els editors de text, les dades i el codi font dels programes havia de ser lliurat a la màquina per mitjà de targetes perforades. El programa, un feix de targetes, era llegit per un lector de targetes perforades. Cada caràcter era representat per una o més perforacions en una columna de 8 o 10 possibles perforacions. Com a màxim, podien ser representats 80 caràcters en una targeta.
Amb els teletips van aparèixer també els primers editors de text que en un començament només mostraven una línia del text. Ordres especials movien el "cursor" en les quatre direccions.
El següent pas es va donar amb l'aparició del monitor de tub de raigs catòdics que va permetre l'edició a "pantalla completa" és a dir mostrant diverses línies alhora. L'augment de productivitat va ser enorme, per la rapidesa i simplicitat del mecanisme. Un dels primers editors de text va ser el O26 escrit per a la consola de l'operador de la sèrie de computadors CDC 6000. Un altre precursor és el vi, escrit els anys 1970 que encara és l'estàndard per als sistemes operatius Unix i GNU/Linux.

## Tipus d'editors de text

Hi ha una gran varietat d'editors de text, si bé la majoria es categoritzen com a editors de codi font. Alguns són d'ús general, mentre que d'altres estan dissenyats per escriure o programar en un llenguatge. Alguns són molt senzills, mentre que d'altres tenen implementades gran quantitat de funcions. L'editor de text ha de ser considerat com una eina de treball del programador o administrador de la màquina. Com a eina permet realitzar certs feines, però també requereix un aprenentatge perquè l'usuari conegui i obtingui destresa en el seu ús. L'anomenada corba d'aprenentatge és una representació de la destresa adquirida al llarg del temps d'aprenentatge. Un editor pot oferir moltes funcions, però si la seva corba d'aprenentatge és molt llarga, pot desanimar l'aprenentatge i acabarà sent deixat de costat. Pot ser que un editor tingui una corba d'aprenentatge molt costeruda, però si no ofereix moltes funcions l'usuari li reemplaçarà per un altre més productiva. És a dir l'elecció de l'editor més apropiat depèn de diversos factors, algun d'ells molt subjectius.
Editors per a professionals han de ser capaços de llegir arxius de gran extensió, més grans que la capacitat de la memòria RAM de la màquina i també arrencar ràpidament, ja que el temps d'espera disminueix la concentració i disminueix la productivitat. Alguns editors de text inclouen l'ús de llenguatges de programació per automatitzar molestos o repetits procediments a realitzar en el text. Per exemple, Emacs es pot adaptar a les necessitats de l'usuari, fins i tot les combinacions de tecles per a executar funcions es poden adaptar, i és programable en Lisp. Avui dia molts editors originalment sortits d'Unix o GNU/Linux han estat portats a altres sistemes operatius, cosa que permet treballar en un altre sistema sense haver d'aprendre l'ús d'un altre editor.
Molts editors de text inclouen acolorit de sintaxi i funcions que ofereixen a l'usuari completar una paraula iniciada.
Algunes funcions especials són:
* Editors dissenyats per a un llenguatge de programació determinat, amb acolorit de sintaxi, macros, completa paraules, etc.
* Editors amb regions plegables. De vegades no tot el text és rellevant per a l'usuari. Amb aquest tipus d'editors certes regions amb text irrellevant poden ser plegades, amagades, mostrant a l'usuari només allò important del text.
* Entorn de desenvolupament integrat (IDE) és un editor que té altres eines de treball, compiladors, extractors de diferències entre dos texts, repositoris, etc., inclosos en un sol programa.

## Funcions típiques d'un editor de text
### Marcar regió

    És la funció que marca, visualment o no, una part del text per ser elaborada amb altres funcions. La regió pot contenir diverses línies del text (regió horitzontal) o bé diverses columnes adjacents del text (regió vertical).

### Busca i substitueix

    El procés de recerca d'una paraula o una cadena de caràcters, en un text pla i el seu reemplaçament per una altra. Existeixen diferents mètodes: global, per regió, reemplaçament automàtic, reemplaçament amb confirmació, recerca de text o recerca d'una expressió regular.

### Copia, retalla i enganxa

    Serveix per copiar, traslladar o esborrar una regió marcada.

### Formatar

    Els editors de text permeten automatitzar les úniques funcions de formatació que utilitzen: trencar la línia, indentació, formatar comentaris o formatar llistes.

### Desfer i Refer

    Consisteix que el programa editor va emmagatzemant cada una de les operacions fetes per l'usuari fins a un nombre configurable. Si l'usuari es penedeix d'algun canvi, per molt anterior que sigui, l'editor li permet revertir tots els canvis fets fins al nombre configurat. Refer és per tant, revertir una cosa revertida.

### Importar

    Agregar o inserir el contingut d'un arxiu a l'arxiu que s'està editant. Alguns editors permeten inserir la sortida o resposta a un programa qualsevol executat en la Línia d'ordres a l'arxiu que s'està editant.

### Filtre

    Alguns editors de text permeten fer passar les línies del text o d'una regió per algun programa per modificar-les o ordenar-les. Per exemple, per ordenar alfabèticament una llista de noms o treure una mitjana d'una llista de nombres.

### Accés remot

    Un editor per treballar en l'administració d'una xarxa de computadores ha d'oferir la funcionalitat d'editar arxius a màquines remotes, ja sigui per ftp, ssh o algun altre protocol de xarxa. Emacs ho pot fer mitjançant el Plugin tramp (àmpliament configurable amb ssh, ftp, scp, sftp, etc.), Ultraedit, de l'ambient Windows, ho fa mitjançant ftp.

## Exemples
### Sense edició de codi font

* Bloc de notes, editor integrat a Windows, també conegut com a Notepad (anglès)

### Amb funció d'editors de codi font

* Per a Unix: Emacs, Kate
* Per a Microsoft Windows: Notepad++, PSPad.
* Multiplataforma: Atom, Gedit, jEdit, Vim.

## Vegeu també

* WYSIWYG