Notepad++ tekstredigering

Introduktion og opsætning af tekstredigeringsprogrammet Notepad++ som fås til Windows

Tekstredigering

For at rediger tekstfiler skal vi bruge et tekstredigeringsprogram som Notepad++.
Notepad++ logo
Fordelen ved Notepad++ fremfor Notesblok der følger med Windows er at man i Notepad++ kan have flere filer åben på samme tid og der er syntax highlighter som farver teksten så det er lettere at overskue koden og finde fejl.
tekstredigering i Notepad++

Download

Notepad++ kan downloades fra notepad-plus-plus.org.

Opsætning

Vælg menuen Settings→Preferences...
Notepad++ menu settings preferences

Her ses nogle af mine foretrukne indstillinger. Forklaring følger.
Notepad++ settings preferences new document
Notepad++ settings preferences tab settings

Format

Jeg bruger det format som kaldes Windows hvilket betyder at linjeskift gemmes som \r\n (OD OA i hexadecimal).


Default language

Når Notepad++ ved at du skriver PHP kode kan programmet syntax highlighte koden med forskellige farver så den er lettere at læse.
Default language sætter jeg til PHP da jeg arbejder meget med PHP filer.

Med syntax highlighter.
Notepad++ med syntax highlight
Uden syntax highlighter.
Notepad++ uden syntax highlight
Man kan ændre sproget for hver enkelt fil i menuen Language.
Notepad++ language
På statuslinjen nederst i programmet kan man se hvilket sprog den aktuelle fil vises med.
Notepad++ language sprog PHP HyperText Preprocessor file
Hvis man vil slå syntax highlighteren fra for en enkelt fil kan man vælge Language→N→Normal text.


Encoding

Jeg sætter min encoding til UTF-8 without BOM.

UTF er en forkortelse for Unicode Transformation Format.

Det specielle ved UTF er at det kan indeholde mange flere tegn end ANSI og ISO-8859-1 som ellers bruges meget.
Så skulle det på et tidspunkt være mindre problematisk og have tegn som æøå og kinesiske og andre tegn direkte i for eksempel HTML filer uden at man skal kode dem på en speciel måde.

ANSI/ASCII og ISO-8859-1 bruger begge kun 1 byte for at vise 1 tegn.
UTF-8 kan bruge flere bytes per tegn og bruger for eksempel 2 byte på at gemme tegn som æøå.
Det vil sige et æ fylder 1 byte hvis filen gemmes med ANSI/ASCII/ISO-8859-1 encoding men æ fylder 2 bytes hvis filen gemmes med UTF-8 encoding.
Denne måde at bruge flere bytes per tegn kaldes multibyte encoding.

Forskellen på UTF-8 og UTF-8 without BOM er at UTF-8 (med BOM) tilføjer 3 bytes i starten af filen.

Her ses en UTF-8 encoded fil i HEX editor plugin'et.
Læg mærke til de 3 første tegn. Det er disse 3 tegn som kaldes BOM.
Notepad++ encoding
Her er filen åbnet i MS-DOS editor som ikke forstår UTF-8 med BOM så derfor vises tegnene.
Notepad++ encoding
Det vil sige at selvom en UTF-8 fil (med BOM) er tom så indeholder den stadig 3 bytes.
De 3 bytes kaldes BOM (Byte Order Mark) og skrives som EF BB BF i hexadecimal.

BOM fortæller programmerne hvilken vej data i filen skal læses så tegnene vises rigtigt.
De 3 bytes kan desværre give problemer som i PHP når man bruger include og require fordi tegnene vises som indhold på hjemmesiden.

Efter hvad jeg har læst giver BOM ikke mening i UTF-8 fordi tegnene altid gemmes i samme rækkefølge.
Men vil dog kunne bruges til at identificere filen som en UTF-8 encoded fil så tekstredigeringsprogrammet ved hvad encoding filen skal vises med.

PHP kommer formodentligt til at forstå BOM i fremtiden men indtil da kan vi bruge UTF-8 uden BOM.



Det er ikke helt problemfrit at bruge UTF-8 i PHP fordi der er mange funktioner som ikke er lavet til at forstå multibyte tegn (hvor der bruges mere end 1 byte per tegn).
Det betyder at kommandoen echo ucfirst("åbent"); giver et uventet resultat hvis filen er gemt med UTF-8 encoding.



Encoding kan ændres for hver enkel fil i menuen Encoding.
Notepad++ encoding
På statuslinjen kan du se hvilken encoding den nuværende fil vises med.
Notepad++ encoding
"ANSI as UTF-8" betyder det samme som "UTF-8 encoding without BOM".


Tab settings

Bestemmer hvad der skal ske når man trykker på tabulatorknappen på tastaturet.

Jeg har skifter over til at indrykke med 4 mellemrumstegn da det lader til at være det mest brugte på diverse hjemmeside der skriver om programmering (GitHub, Stack Overflow).

Style configurator

For at bestemme skifttype og baggrundsfarve vælges menuen Settings→Style Configurator...
Notepad++ menu Settings Style Configurator
Her kan man vælge mellem flere forskellige temaer.
Notepad++ Style Configurator

Plugins

Plugins til Notepad++ giver flere muligheder i programmet end Notepad++ tilbyder som standard.
Under installationen af Notepad++ kan du til og fravælge nogle plugins der følger med som standard.

I menuen vælges Plugins→Plugin Manager→Show Plugin Manager for at se en liste med plugins.
Notepad++ plugin manager menu
Her kan du vælge de plugins du vil have og trykke på Install knappen så bliver de downloadet.
Notepad++ plugin manager

Du kan for eksempel prøve og installere det plugin der hedder Explorer som bruges til at finde filer med.

Når explorer er installeret bliver der tilføjet et ikon øverst til højre for de andre ikoner i Notepad++.

Du kan også vælge menuen Plugins→Explorer for ændre indstillinger for plugin'et.

Tip

Jeg oplever i Notepad++ at mine filer åbnes som ASCII i stedet for UTF-8 uden BOM hvis der kun er ascii tegn i filen.
Det vil sige hvis der kun er tegn som a-z men ikke tegn som æøå så åbnes filen som ASCII men hvis der er tegn som æøå så åbnes filen som UTF-8 uden BOM.

Derfor laver jeg gerne en kommentar i starten af mine filer med æøå og desuden skriver jeg hvad encoding der er meningen filen skal være gemt i.

Hvis man senere åbner filen i Notepad++ eller et andet tekstredigeringsprogram så kan man hurtigt se om æøå ser rigtig ud eller om der står æøå hvilket så betyder at filen vises med forkert encodig.

Funktioner

Her er nogen af de menuer/funktioner jeg bruger i Notepad++.

Ctrl+D

Dubliker den linje markøren står på.


Ctrl+Shift+Op eller Ctrl+Shift+Ned

Flyt den linje markøren står på op eller ned.
Man kan også flytte flere linje ved at marker dem først.


Ctrl+F (Find)

Søg efter tekst i den aktuelle fil eller i alle åbne filer.


Ctrl+H (Replace)

Søg og erstat en tekst i den aktuelle fil eller alle åbne filer.
Den er rigtig god hvis man har mange filer hvor der skal søges og erstattes i.
Kan også søge og erstatte med linjeskift hvis man bruger den "Search mode" der hedder "Extended". Så kan man skrive "\r\n" for at søge efter Windows linjeskift for eksempel.


Ctrl+Shift+S

Gem alle åbne filer.


TextFX→TextFX Tools ...

Her kan man efter at have markeret flere linjer sorter linjerne i alfabetisk rækkefølge.


Edit→Blank operations→Trim Trailing Space

Fjerner eventuelle mellemrumstegn i slutningen af alle linjer.

Crash

Af og til crasher Notepad++ på min computer desværre.
Det sker lidt for ofte.
Her samler jeg info om det.
Notepad++ Win32Exception
Notepad++
C:\Program Files (x86)\Notepad++\\NppDump.dmp
Notepad++
Notepad++
C:\Users\[USER]\AppData\Local\Temp\\N++RECOV
Notepad++
Efterfulgte af en masse dialoger, formodentligt lige så mange som der er åbne filer.
Notepad++
Hvis man så venter noget tid til alle pop-op beskederne er blevet vist så lukker Notepad++ selv.

Jeg ved ikke hvad der er skyld i denne fejl men jeg har oplevet det mange gange.
Ud fra antallet af beskeder så vil jeg tro det skyldes noget med at programmet prøvet og gennemgå hver fil som er åben fordi jeg har mange filer åben samtidig og får mange fejlbeskeder så får ud fra det er en besked per fil.

Hvis du ved hvad der er skyld i denne fejl så Kontakt mig gerne. Tænker det muligvis er et plugin det kan gøre det.

Skriv din kommentar

Spørg mig om hvad som helst
Du kan også skrive direkte til mig på
Stem
Søg
Language

Select English to navigate the website in English. Things like the navigation menu and contact form will be in English, but the main content on each page will not be translated.