Textredigerare - Text editor

Redaktörer som Leafpad , som visas här, ingår ofta med operativsystem som standard hjälpprogram för att öppna textfiler.

En textredigerare är en typ av datorprogram som redigerar vanlig text . Sådana program är ibland kända som " anteckningsblock " programvara, efter namnet på Microsoft Notepad . Textredigerare har operativsystem och mjukvaruutvecklingspaket och kan användas för att ändra filer som konfigurationsfiler , dokumentationsfiler och källkod för programmeringsspråk .

Vanlig text kontra rik text

Det finns viktiga skillnader mellan vanlig text (skapad och redigerad av textredigerare) och rik text (t.ex. den som skapats av ordbehandlare eller programvara för publicering av skrivbord ).

Vanlig text består uteslutande av karaktärsrepresentation. Varje tecken representeras av en sekvens med fast längd på en, två eller fyra byte, eller som en sekvens med variabel längd på en till fyra byte, i enlighet med specifika teckenkodningskonventioner , såsom ASCII , ISO/IEC 2022 , UTF -8 eller Unicode . Dessa konventioner definierar många utskrivbara tecken, men också tecken som inte skrivs ut som styr textens flöde, till exempel mellanslag , radbrytning och sidbrytning . Vanlig text innehåller ingen annan information om själva texten, inte ens den teckenkodningskonvention som används. Vanlig text lagras i textfiler , även om textfiler inte enbart lagrar vanlig text. I början av datorer visades vanlig text med ett monospace -teckensnitt , så att horisontell inriktning och kolumnformatering ibland gjordes med blankstegstecken. Av kompatibilitetsskäl har denna tradition inte förändrats.

Rich text kan å andra sidan innehålla metadata, teckenformateringsdata (t.ex. typsnitt, storlek, vikt och stil ), styckeformateringsdata (t.ex. indragning, justering, bokstavs- och ordfördelning och mellanrum mellan rader eller andra stycken), och sidspecifikationsdata (t.ex. storlek, marginal och läsriktning). Rich text kan vara mycket komplext. Rich text kan sparas i binärt format (t.ex. DOC ), textfiler som följer ett markeringsspråk (t.ex. RTF eller HTML ) eller i en hybridform av båda (t.ex. Office Open XML ).

Textredigerare är avsedda att öppna och spara textfiler som innehåller antingen vanlig text eller något som kan tolkas som vanlig text, inklusive uppmärkning för rik text eller uppmärkning för något annat (t.ex. SVG ).

Historia

En kartong med stansade kort med flera programdäck.

Innan textredigerare fanns stansades datortext i kort med knapptryckningsmaskiner . Fysiska lådor med dessa tunna kartongkort sattes sedan in i en kortläsare. Magnetband och "kortbild" -filer som skapats från sådana kortlekar hade ofta inga radavgränsningstecken alls och antog poster med 80 tecken med fast längd. Ett alternativ till kort var stansad papperstejp. Det kan skapas av några teleprinters (t.ex. Teletype), som använde specialtecken för att indikera slutet av poster.

De första textredigerarna var "radredigerare" orienterade mot terminaler för skrivare eller skrivmaskin utan visningar. Kommandon (ofta en enda knapptryckning) utförde redigeringar av en fil vid en imaginär infogningspunkt som kallas "markören". Redigeringar verifierades genom att skriva ett kommando för att skriva ut en liten del av filen och regelbundet genom att skriva ut hela filen. I vissa radredigerare kan markören flyttas med kommandon som angav radnumret i filen, textsträngar (sammanhang) som man ska söka efter och så småningom reguljära uttryck . Radredaktörer var stora förbättringar jämfört med knapptryckning. Vissa radredigerare kan användas med knapptryckning; redigeringskommandon kan tas från en kortlek och appliceras på en viss fil. Vissa vanliga redigerare stödde ett "verifiera" -läge där ändringskommandon visade de ändrade raderna.

När datorterminaler med videoskärmar blev tillgängliga blev skärmbaserade textredigerare (ibland kallade bara "skärmredigerare") vanliga. En av de tidigaste helskärmsredigerarna var O26 , som skrevs för operatörskonsolen för CDC 6000-seriens datorer 1967. En annan tidig helskärmsredigerare var vi . Den skrevs på 1970 -talet och är fortfarande en standardredigerare för Unix- och Linux -operativsystem. Också på 1970 -talet skrevs UCSD Pascal Screen Oriented Editor, som optimerades både för inryckt källkod och allmän text. Emacs , ett av de första kostnadsfria och öppen källkodsprogrammen , är en annan tidig helskärms- eller realtidsredigerare, som överfördes till många system. En helskärmsredigerares användarvänlighet och snabbhet (jämfört med de linjebaserade redaktörerna) motiverade många tidiga köp av videoterminaler.

Kärndatastrukturen i en textredigerare är den som hanterar strängen (teckensekvens) eller listan över poster som representerar det aktuella tillståndet för filen som redigeras. Medan den förra kunde lagras i en enda lång rad av tecken i rad, ledde önskan efter textredigerare som snabbare kunde infoga text, radera text och ångra/göra om tidigare redigeringar till utvecklingen av mer komplicerade sekvensdatastrukturer. En typisk textredigerare använder en mellanrumsbuffert , en länkad lista med rader (som i PaperClip ), en tabell eller ett rep , som sin sekvensdatastruktur.

Typer av textredigerare

Emacs, en textredigerare populär bland programmerare, som körs på Microsoft Windows
gedit är en textredigerare som levereras med GNOME

Vissa textredigerare är små och enkla, medan andra erbjuder breda och komplexa funktioner. Exempelvis har Unix och Unix-liknande operativsystem pico- editor (eller en variant), men många inkluderar även vi- och Emacs-redaktörerna. Microsoft Windows -system levereras med den enkla anteckningsblocket , även om många människor - särskilt programmerare - föredrar andra redaktörer med fler funktioner. Under Apple Macintosh : s klassiska Mac OS fanns infödda Simple , som ersattes i Mac OS X från Textedit , som kombinerar funktionerna i en textredigerare med de typiska för en ordbehandlare som linjaler, marginaler och flera val teckensnitt. Dessa funktioner är inte tillgängliga samtidigt, men måste bytas med användarkommando eller genom att programmet automatiskt bestämmer filtypen .

De flesta ordbehandlare kan läsa och skriva filer i vanligt textformat, så att de kan öppna filer som sparats från textredigerare. Att spara dessa filer från en ordbehandlare kräver dock att filen är skriven i klartextformat och att eventuell textkodning eller BOM -inställningar inte skymmer filen för dess avsedda användning. Icke- WYSIWYG- ordbehandlare, som WordStar , är lättare att ta i bruk som textredigerare och användes faktiskt ofta som sådana under 1980-talet. Standardfilformat dessa ordbehandlare liknar ofta ett märkspråk, med den grundläggande format är oformaterad text och visuell formatering uppnås med icke-utskrift tecken kontroll eller fly sekvenser . Senare ordbehandlare som Microsoft Word lagrar sina filer i ett binärt format och används nästan aldrig för att redigera vanliga textfiler.

Vissa textredigerare kan redigera ovanligt stora filer, till exempel loggfiler eller en hel databas placerad i en enda fil. Enklare textredigerare kanske bara läser filer i datorns huvudminne . Med större filer kan detta vara en långsam process och hela filen kanske inte passar. Vissa textredigerare låter inte användaren börja redigera förrän denna inläsning är klar. Redigeringsprestanda lider ofta också i icke -specialiserade redaktörer, där redigeraren tar sekunder eller till och med minuter att svara på knapptryckningar eller navigeringskommandon. Specialiserade redaktörer har optimeringar som att bara lagra den synliga delen av stora filer i minnet, förbättra redigeringsprestanda.

Vissa redaktörer är programmerbara, vilket innebär att de kan anpassas för specifika användningsområden. Med en programmerbar editor är det enkelt att automatisera repetitiva uppgifter eller lägga till ny funktionalitet eller till och med implementera en ny applikation inom ramen för redigeraren. Ett vanligt motiv för att anpassa är att få en textredigerare att använda kommandona i en annan textredigerare som användaren är mer bekant med, eller att duplicera saknade funktioner som användaren har blivit beroende av. Programutvecklare använder ofta redigeraranpassningar som är skräddarsydda för programmeringsspråket eller utvecklingsmiljön de arbetar i. Vissa textredigerares programmerbarhet är begränsad till att förbättra programmets grundläggande redigeringsfunktionalitet, men Emacs kan utökas långt utöver redigering av textfiler - för webben surfa, läsa e -post, onlinechatt, hantera filer eller spela spel och betraktas ofta som en Lisp -körningsmiljö med ett textanvändargränssnitt . Emacs kan till och med programmeras för att efterlikna Vi , dess rival i de traditionella redaktörskrigen i Unix -kulturen .

En viktig grupp programmerbara redaktörer använder REXX som skriptspråk. Dessa "ortodoxa redaktörer" innehåller en "kommandorad" där kommandon och makron kan skrivas in och textrader där radkommandon och makron kan skrivas in. De flesta sådana redaktörer är derivat av ISPF/PDF EDIT eller av XEDIT , IBMs flaggskeppsredigerare för VM/SP till och med z/VM . Bland dem finns THE , KEDIT , X2, Uni-edit och SEDIT .

En textredigerare skriven eller anpassad för en specifik användning kan avgöra vad användaren redigerar och hjälpa användaren, ofta genom att fylla i programmeringsvillkor och visa verktygstips med relevant dokumentation. Många textredigerare för programutvecklare inkluderar markering av källkodssyntax och automatisk indragning för att göra program lättare att läsa och skriva. Programmeringsredigerare låter ofta användaren välja namnet på en inkluderingsfil , funktion eller variabel och hoppar sedan till dess definition. Vissa möjliggör också enkel navigering tillbaka till den ursprungliga delen av koden genom att lagra den ursprungliga markörplatsen eller genom att visa den begärda definitionen i ett popup -fönster eller en tillfällig buffert. Vissa redaktörer implementerar denna förmåga själva, men ofta används ett hjälpverktyg som ctags för att hitta definitionerna.

Typiska funktioner

  • Hitta och ersätt - Textredigerare erbjuder omfattande möjligheter för att söka och ersätta text, antingen i grupper av filer eller interaktivt. Avancerade redaktörer kan använda reguljära uttryck för att söka och redigera text eller kod.
  • Klipp ut, kopiera och klistra in - de flesta textredigerare erbjuder metoder för att kopiera och flytta text i filen eller mellan filer.
  • Möjlighet att hantera UTF-8- kodad text.
  • Text formatering - Textredigerare ger ofta grundläggande visuella formatering funktioner som radbyte , auto-indrag , punktlista formatering med hjälp av ASCII- tecken, kommentera formatering , syntaxmarkering och så vidare. Dessa är vanligtvis endast för visning och infogar inte formateringskoder i själva filen.
  • Ångra och gör om - Precis som med ordbehandlare ger textredigerare ett sätt att ångra och göra om den senaste redigeringen, eller mer. Ofta - särskilt med äldre textredigerare - finns det bara en nivå av redigeringshistorik som kommer ihåg och successivt utfärdar ångra -kommandot bara "växlar" den senaste ändringen. Moderna eller mer komplexa redaktörer tillhandahåller vanligtvis en historik på flera nivåer så att utfärdandet av ångra-kommandot upprepade gånger kommer att återföra dokumentet till successivt äldre redigeringar. Ett separat omkommando kommer att redigera "framåt" mot de senaste ändringarna. Antalet ändringar som kommer ihåg beror på redigeraren och konfigureras ofta av användaren.

Avancerade funktioner

  • Makro- eller procedurdefinition: att definiera nya kommandon eller funktioner som kombinationer av tidigare kommandon eller andra makron, kanske med godkända parametrar eller med kapsling av makron.
  • Profiler för att behålla alternativ som användaren ställt in mellan redigeringssessionen.
  • Profilmakron med namn som anges i t.ex. miljö, profil, körs automatiskt i början av en redigeringssession eller när en ny fil öppnas.
  • Redigering av flera filer: möjligheten att redigera flera filer under en redigeringssession, kanske komma ihåg den aktuella radmarkören för varje fil, infoga upprepad text i varje fil, kopiera eller flytta text bland filer, jämföra filer sida vid sida (kanske med ett kaklat gränssnitt för flera dokument ), etc.
  • Multi-view-redaktörer: möjligheten att visa flera vyer av samma fil, med oberoende markörspårning, synkronisera ändringar mellan fönstren men ge samma faciliteter som finns för oberoende filer.
  • Dölj/expandera, även kallad vikning : Möjligheten att tillfälligt utesluta delar av texten från vyn. Detta kan antingen baseras på en rad radnummer eller på något syntaktiskt element, t.ex. exkludera allt mellan en BEGIN; och matchande SLUT; .
  • Kolumnbaserad redigering; möjligheten att ändra eller infoga data i en viss kolumn, eller att flytta data till specifika kolumner.
  • Datatransformation - Läsa eller slå samman innehållet i en annan textfil till den fil som för närvarande redigeras. Vissa textredigerare ger ett sätt att infoga utdata från ett kommando som utfärdas till operativsystemets skal . Dessutom kan en skiftlägesfunktion översättas till gemener eller versaler.
  • Filtrering - Vissa avancerade textredigerare tillåter redaktören att skicka hela eller delar av filen som redigeras till ett annat verktyg och läsa tillbaka resultatet i filen istället för att raderna "filtreras". Detta är till exempel användbart för att sortera en rad rader alfabetiskt eller numeriskt, göra matematiska beräkningar, indragning av källkod och så vidare.
  • Syntaxmarkering - framhäver kontextuellt källkod , markeringsspråk , konfigurationsfiler och annan text som visas i ett organiserat eller förutsägbart format. Redaktörer tillåter i allmänhet användare att anpassa färger eller stilar som används för varje språkelement. Vissa textredigerare gör det också möjligt för användare att installera och använda teman för att ändra utseendet på hela redigerarens användargränssnitt .
  • Utökningsbarhet - en textredigerare som är avsedd att användas av programmerare måste ha någon plugin -mekanism eller vara skriptbar , så att en programmerare kan anpassa redigeraren med funktioner som behövs för att hantera enskilda programvaruprojekt, anpassa funktioner eller nyckelbindningar för specifika programmeringsspråk eller versionskontrollsystem , eller anpassa sig till specifika kodningsstilar .

Specialiserade redaktörer

Vissa redaktörer inkluderar specialfunktioner och extrafunktioner, till exempel

  • Källkodredigerare är textredigerare med ytterligare funktioner för att underlätta produktion av källkod. Dessa har ofta användarprogrammerbart syntaxmarkering och kod navigationsfunktioner samt kodning verktyg eller tangentbords makron som liknar en HTML-redigerare (se nedan).
  • Vikbara redaktörer . Denna underklass innehåller så kallade "ortodoxa redaktörer" som är derivat av Xedit. Redaktörer som implementerar vikning utan programmeringsspecifika funktioner brukar kallas dispositioner (se nedan).
  • IDE (integrerade utvecklingsmiljöer) är utformade för att hantera och effektivisera stora programmeringsprojekt. De används vanligtvis bara för programmering eftersom de innehåller många funktioner som är onödiga för enkel textredigering.
  • World Wide Web -författare erbjuds en mängd olika HTML -redaktörer som är dedikerade till uppgiften att skapa webbsidor . Dessa inkluderar: Dreamweaver , KompoZer och E Text Editor . Många erbjuder möjligheten att se ett pågående verk på en inbyggd HTML-återgivningsmotor eller standard webbläsare .
  • De flesta webbutveckling sker på ett dynamiskt programmeringsspråk som Ruby eller PHP med hjälp av en källkodredigerare eller IDE. HTML -koden som levereras av alla utom de enklaste statiska webbplatserna lagras som individuella mallfiler som sätts ihop av programvaran som styr webbplatsen och inte sammanställer ett komplett HTML -dokument.
  • Matematiker, fysiker och datavetenskapare producerar ofta artiklar och böcker med TeX eller LaTeX i vanliga textfiler. Sådana dokument produceras ofta av en vanlig textredigerare, men vissa använder specialiserade TeX -redaktörer .
  • Dispositioner . Kallas även trädbaserade redaktörer, eftersom de kombinerar ett hierarkiskt konturträd med en textredigerare. Vikning (se ovan) kan betraktas som en specialiserad form av disposition.
  • Redaktörer i samarbete gör att flera användare kan arbeta på samma dokument samtidigt från avlägsna platser över ett nätverk. Ändringarna som görs av enskilda användare spåras och slås samman i dokumentet automatiskt för att eliminera risken för motstridiga redigeringar. Dessa redaktörer innehåller också vanligtvis en online chattkomponent för diskussion bland redaktörer.
  • Distraktionsfria redaktörer tillhandahåller ett minimalistiskt gränssnitt i syfte att isolera författaren från resten av applikationerna och operativsystemet, och kan därmed fokusera på skrivandet utan distraktioner från gränssnittselement som ett verktygsfält eller meddelandeområde .

Programmerbara redaktörer kan vanligtvis förbättras för att utföra någon eller alla av dessa funktioner, men enklare redaktörer fokuserar på bara en, eller, som gPHPedit , är inriktade på ett enda programmeringsspråk.

Se även

Anteckningar

Referenser

externa länkar