Zeilenumbruchsthema abgeschlosssen

This commit is contained in:
2026-05-20 19:21:23 +02:00
parent a324fbf27c
commit 3e78f7eac5
+66 -7
View File
@@ -43,10 +43,12 @@ löscht Zeilen, die „error“ ODER „warning“ enthalten.
``` ```
:%g/^$/d :%g/^$/d
``` ```
## Löschen von Leerzeichen/Tabs am Zeileende jeder Zeile ## Löschen von Leerzeichen/Tabs am Zeileende jeder Zeile
`:%s/\s\+$//` ````
:%s/\s\+$//
````
- `:%s` Suchen & Ersetzen in der ganzen Datei - `:%s` Suchen & Ersetzen in der ganzen Datei
- `\s\+` ein oder mehrere Whitespace-Zeichen (Leerzeichen, Tabs) - `\s\+` ein oder mehrere Whitespace-Zeichen (Leerzeichen, Tabs)
@@ -64,9 +66,13 @@ Hier geht es darum das ein Block aus einer Anzahl Zeilen besteht. Die erste Zeil
getestete Variante: getestete Variante:
`:%!sed -n '/Begriff1/,/Begriff2/p'` ```
:%!sed -n '/Begriff1/,/Begriff2/p'
```
Direkt im Terminal: Direkt im Terminal:
`sed -n '/Begriff1/,/Begriff2/p' datei.txt > ausgabe.txt` ```
sed -n '/Begriff1/,/Begriff2/p' datei.txt > ausgabe.txt
```
**Erklärung:** **Erklärung:**
@@ -75,10 +81,12 @@ Direkt im Terminal:
`/Begriff1/,/Begriff2/p` gibt nur die Zeilen von Begriff1 **bis** Begriff2` aus (inklusive beider Zeilen) `/Begriff1/,/Begriff2/p` gibt nur die Zeilen von Begriff1 **bis** Begriff2` aus (inklusive beider Zeilen)
## Löschen von Zeilenanfang bis zu einem bestimmten Begriff ## Löschen von Zeilenanfang bis zu einem bestimmten Begriff
```:%s/^.*\zeBegriff//``` ```
:%s/^.*\zeBegriff//
```
`^.*` → alles vom Zeilenanfang `^.*` → alles vom Zeilenanfang
`\ze → „hier endet der Match“ `\ze` → „hier endet der Match“
SUCHTEXT bleibt erhalten SUCHTEXT bleibt erhalten
## Speichern als ## Speichern als
@@ -97,4 +105,55 @@ Erklärung:
- `.` = aktuelle Zeile - `.` = aktuelle Zeile
- `$-1` = vorletzte Zeile (die letzte hat ja nichts mehr zum Anhängen) - `$-1` = vorletzte Zeile (die letzte hat ja nichts mehr zum Anhängen)
- `join` (oder kurz `j`) verbindet jede Zeile mit der folgenden - `join` (oder kurz `j`) verbindet jede Zeile mit der folgenden
Beispiel:
Vorher:
```
eins
zwei
drei
vier
```
Nach `:1,$-1join`:
```
eins zwei drei vier
```
Falls man **jeweils nur zwei Zeilen paarweise** verbinden will (also 1+2, 3+4, 5+6 …), dann ist `join` allein nicht genug, weil es alles zu einer einzigen Zeile macht.
Daher:
```
:%norm Jj
```
Das macht für jede Zeile:
- `J` → nächste Zeile anhängen
- `j` → zur nächsten unbearbeiteten Zeile springen
Beispiel:
Vorher:
```
a
b
c
d
e
f
```
Nachher:
```
a b
c d
e f
```