Redaktuesi i tekstit

parapamje|Redaktorët si Mousepad, të paraqitur këtu, shpesh përfshihen me një sistem operativ si një aplikacion ndihmës për redaktimin e skedarëve tekst.
Një **redaktues teksti** është një program interaktiv që i lejon përdoruesit të redaktojë tekst të thjeshtë, siç është Notepad.

Ashtu si me çdo program tjetër, një redaktues teksti mund të instalohet në një sistem, por shpesh një redaktues teksti relativisht i thjeshtë përfshihet në një instalim të paracaktuar të një sistemi operativ (OS), pasi redaktimi i skedarëve të tekstit është një nevojë relativisht themelore për çdo sistem dhe meqenëse një redaktues teksti i thjeshtë mund të ofrohet me një kosto relativisht të ulët.

Meqenëse kodi burimor është tekst, çdo redaktues teksti mund të përdoret për të redaktuar kodin, por një redaktues kodi burimor është projektuar me veçori të destinuara posaçërisht për redaktimin e kodit. Disa ofrojnë integrim me mjetet e zhvillimit të programeve dhe ofrojnë një mjedis debugging.

## Tekst i thjeshtë dhe tekst i pasur 
Artikujt kryesorë: Teksti i thjeshtë dhe Teksti i pasur.

Ekzistojnë dallime të rëndësishme midis tekstit të thjeshtë (i krijuar dhe redaktuar nga redaktuesit e tekstit) dhe teksti i pasur (si ai i krijuar nga përpunuesit e tekstit ose programi publikues në ekran).

Teksti i thjeshtë përbëhet ekskluzivisht nga përfaqësimi i karaktereve. Çdo karakter përfaqësohet nga një sekuencë me gjatësi fikse prej një, ose dy ose katër bajt, në përputhje me konventat specifike të kodimit të karaktereve, të tilla si ASCII, ISO/IEC 2022, Shift JIS, UTF-8 ose UTF-16. Këto konventa përcaktojnë shumë karaktere të shtypura, por edhe karaktere që nuk shtypen që kontrollojnë rrjedhën e tekstit, si hapësira, ndërprerja e rreshtit dhe ndërprerja e faqes. 

Teksti i thjeshtë nuk përmban asnjë informacion tjetër për vetë tekstin, madje as konventën e kodimit të karaktereve të përdorur. Teksti i thjeshtë ruhet në skedarët e tekstit, megjithëse skedarët e tekstit nuk ruajnë ekskluzivisht tekst të thjeshtë (dikur nga nevoja dhe tani sipas konvencionit) përgjithësisht shfaqej duke përdorur një shkronjë vetëm hapësirë, i tillë që shtrirja horizontale dhe formatimi i kolonës bëheshin ndonjëherë duke përdorur karaktere të hapësirës së bardhë.

Teksti i pasur, nga ana tjetër, mund të përmbajë meta të dhëna, të dhëna për formatimin e karaktereve (p.sh. lloji i fytyrës, madhësia, pesha dhe stili), të dhëna të formatimit të paragrafit (p.sh. dhëmbëzimi, shtrirja, shpërndarja e shkronjave dhe fjalëve, dhe hapësira ndërmjet rreshtave ose paragrafëve të tjerë), dhe të dhënat e specifikimeve të faqes (p.sh. madhësia, diferenca dhe drejtimi i leximit). Teksti i pasur mund të jetë shumë kompleks dhe mund të ruhet në:
* Format binar (p.sh. DOC)
* Skedarë teksti që i përmbahen një gjuhe shënjimi (p.sh. RTF ose HTML)
* Formë hibride (p.sh. Office Open XML)

Redaktuesit e tekstit synojnë të hapin dhe ruajnë skedarë që mund të interpretohen si tekst i thjeshtë, duke përfshirë shënimin për tekst të pasur ose shënimin për diçka tjetër (p.sh. SVG).

## Historia 
Përpara se të ekzistonin redaktuesit e tekstit, teksti i kompjuterit u fut në kartat e vrimuara me makineri çelës me grusht. Kutitë fizike të këtyre kartave të holla kartoni u futën më pas në një lexues letrash. Shirit magnetik, daulle dhe skedarët e imazheve të kartës së diskut shpesh nuk kishin fare karaktere të ndarjes së rreshtave dhe supozonin regjistrime me gjatësi fikse prej 80 ose 90 karaktere. 

Një alternativë ndaj letrave ishte shiriti i letres. Ai mund të krijohet nga disa teleshtypës (të tilla si Teletype), të cilët përdorën karaktere speciale për të treguar skajet e regjistrimeve. Disa sisteme operative të hershme përfshinin redaktues teksti në grup (batch editors) si pjesë e sistemit.

Redaktorët e parë ndërveprues të tekstit ishin "redaktorët e linjës" (line editors) të orientuar në terminalet teleprinter pa ekran. Komandat kryenin modifikime në një pikë futjeje imagjinare të quajtur "kursori". Ndryshimet verifikoheshin duke printuar pjesë të vogla të skedarit në letër.

Kur terminalet kompjuterike me ekrane video u bënë të disponueshme, redaktuesit e tekstit të bazuar në ekran (screen editors) u bënë të zakonshëm. 
* Një nga më të hershmit ishte O26, i shkruar për serinë CDC 6000 në vitin 1967. 
* Vi (shkruar në vitet 1970) është ende një redaktues standard në Unix dhe Linux.
* Emacs (vitet 1970) ishte një nga projektet e para të softuerit të lirë që u portua në shumë sisteme.

Struktura bazë e të dhënave në një redaktues teksti menaxhon sekuencën e karaktereve. Për performancë më të lartë, redaktorët modernë përdorin struktura si gap buffer, lista të lidhura rreshtash, tabelë pjesësh (piece table) ose litarë (ropes).

## Llojet e redaktuesve të tekstit 
Disa redaktues teksti janë të vegjël dhe të thjeshtë, ndërsa të tjerë ofrojnë funksione të gjera. 
* **Unix/Linux:** Përfshijnë pico, vi dhe Emacs.
* **Windows:** Vjen me Fletore Shënimesh (Notepad).
* **Macintosh:** klasik Mac OS kishte SimpleText, i zëvendësuar në macOS nga TextEdit, i cili kombinon tekstin e thjeshtë me veçoritë e përpunuesve të tekstit.

Shumica e përpunuesve të tekstit mund të lexojnë dhe shkruajnë skedarë në format teksti të thjeshtë, por ruajtja e tyre kërkon kujdes për të mos përfshirë kodime si BOM që mund të pengojnë përdorimin e synuar. Përpunuesit e vjetër si WordStar ishin më afër redaktuesve të tekstit, ndërsa modernët si Microsoft Word përdorin format binar dhe nuk janë të përshtatshëm për tekst të thjeshtë.

Redaktorët e specializuar lejojnë redaktimin e skedarëve jashtëzakonisht të mëdhenj (si skedarët e ditarit/logs) duke optimizuar memorien për të shfaqur vetëm pjesën e dukshme.

### Redaktorët e programueshëm 
Shumë redaktorë janë të personalizueshëm përmes makrove ose gjuhëve të skriptimit. Një grup përdor REXX si gjuhë skriptimi (të njohur si "redaktorë ortodoksë"). Shembuj përfshijnë XEDIT, THE, KEDIT dhe SEDIT. Emacs mund të zgjerohet aq shumë sa mund të përdoret për shfletim uebi, email dhe biseda online, duke u bërë një mjedis i plotë ekzekutimi.

## Karakteristikat tipike 
* **Gjeni dhe zëvendëshoni:** Kërkim dhe zëvendësim i vargjeve, shpesh duke përdorur shprehjet e rregullta (regex).
* **Prit, kopjo dhe ngjit:** Zhvendosja e tekstit brenda ose midis skedarëve.
* **Mbështetja për UTF-8:** Aftësia për të trajtuar kodimin modern të karaktereve.
* **Formatimi vizual:** Mbështjellja e rreshtit, dhëmbëzimi automatik dhe theksimi i sintaksës (vetëm për shfaqje).
* **Zhbër dhe ribëj (Undo/Redo):** Historia e ndryshimeve. Redaktorët modernë lejojnë nivele të shumta kthimi prapa.
* **Lundrimi:** Aftësia për të kërcyer direkt në një numër rreshti të caktuar.

## Karakteristikat e avancuara 
* **Makrot:** Përkufizimi i komandave të reja si kombinime të veprimeve të përsëritura.
* **Redaktimi me shumë skedarë:** Mundësia për të hapur shumë skedarë njëkohësisht (tabet).
* **Redaktorët me shumë pamje:** Shfaqja e të njëjtit skedar në dritare të ndryshme (split screen).
* **Palosja (Folding):** Fshehja e përkohshme e seksioneve të tekstit bazuar në sintaksë.
* **Redaktimi në kolona:** Aftësia për të ndryshuar të dhënat vertikalisht në kolona specifike.
* **Transformimi i të dhënave:** Konvertimi i shkronjave (vogla/mëdha), renditja alfabetike ose llogaritjet matematike.
* **Theksimi i sintaksës:** Ngjyrosja kontekstuale e kodit burimor dhe gjuhëve të shënjimit.

## Redaktorë të specializuar 
* Redaktuesit e kodit burimor: Kanë funksione shtesë për programim dhe navigim kodesh.
* IDE (Mjediset e integruara të zhvillimit): Menaxhojnë projekte të mëdha softuerike.
* Redaktorët HTML: Të dedikuar për krijimin e faqeve të internetit (p.sh. Dreamweaver).
* Redaktorët TeX: Për shkrimin e dokumenteve shkencore duke përdorur LaTeX.
* Përvijimet (Outliners): Kombinojnë strukturën hierarkike me redaktimin e tekstit.
* Redaktorët bashkëpunues: Lejojnë shumë përdorues të punojnë njëkohësisht në të njëjtin dokument përmes rrjetit.
* Redaktorët pa shpërqendrim: Ndërfaqe minimaliste për t'u fokusuar vetëm te shkrimi.

## Shiko gjithashtu 
* Lista e redaktuesve të tekstit
* Krahasimi i redaktuesve të tekstit
* Lufta e redaktorit
* Redaktori Hex – për skedarë binarë
* Redaktori i transmetimit (sed)

## Referencat 
## Lidhje të jashtme 
* Orthodox Editors - Diskutim mbi Xedit dhe aftësitë e tij.