hallo leute,
wie ist es möglich, alle leerzeichen am zeilenende zu löschen?
oder wahlweise evtl alle am zeilenanfang und am ende (ähnlich truncate)?
thx
VIM alle leerzeichen am zeilenende abschneiden
leerzeichen
super, es funzt
kannst du mir auch noch erklären was die einzelnen zeichen machen?
ich weiss nur das das $ für "bis zeilenende steht" welcher part ist für "alle leerzeichen vom letzten zeichen (ausser leer) löschen" verantwortlich?
danke
kannst du mir auch noch erklären was die einzelnen zeichen machen?
ich weiss nur das das $ für "bis zeilenende steht" welcher part ist für "alle leerzeichen vom letzten zeichen (ausser leer) löschen" verantwortlich?
danke
:%s/\s*$//g
das ":%" kannst du auch schreiben als ":1,$ " und bedeutet nur, dass das was jetzt noch kommt für jede Zeile in der Datei (beginnend vom Dateianfang bis Dateiende) durchzuführen ist
"s/\s*$//g" wird dann für jede Zeile der Datei ausgeführt.
"s/..../..../g" führt allgemein eine Ersetzung durch
Wenden wir uns dem "\s*$" zu:
"\s" matched alle Leerzeichen und Tabulatoren
"\s*" matched einfaches und mehrfaches vorkommen von Leerzeichen und/oder Tabulatoren
"\s*$" matched einfaches und mehrfaches vorkommen von Leerzeichen und/oder Tabulatoren vor einem Zeilenende
das ":%" kannst du auch schreiben als ":1,$ " und bedeutet nur, dass das was jetzt noch kommt für jede Zeile in der Datei (beginnend vom Dateianfang bis Dateiende) durchzuführen ist
"s/\s*$//g" wird dann für jede Zeile der Datei ausgeführt.
"s/..../..../g" führt allgemein eine Ersetzung durch
Wenden wir uns dem "\s*$" zu:
"\s" matched alle Leerzeichen und Tabulatoren
"\s*" matched einfaches und mehrfaches vorkommen von Leerzeichen und/oder Tabulatoren
"\s*$" matched einfaches und mehrfaches vorkommen von Leerzeichen und/oder Tabulatoren vor einem Zeilenende
It just works.
Genauso kannst du mit vim/gvim das "Lösche alle Leerzeichen und Tabulatoren am Zeilenanfang realisieren:
"\s" matched Leerzeichen und Tabulatoren
"\s*" matched ein- und mehrfache Leerzeichen und Tabulatoren
"^\s*" matched ein- und mehrfache Leerzeichen und Tabulatoren am Zeilenanfang
jetzt noch das ganze in ein "s/..../..../g" eingebunden für das Suchen+Ersetzen: "s/^\s*//g"
und schlussendlich noch das "für jede Zeile der Datei" mit ":%" oder mit ":1,$ " dann ergibt sich:
:%s/^\s*//g
oder
:1,$ s/^\s*//g
"\s" matched Leerzeichen und Tabulatoren
"\s*" matched ein- und mehrfache Leerzeichen und Tabulatoren
"^\s*" matched ein- und mehrfache Leerzeichen und Tabulatoren am Zeilenanfang
jetzt noch das ganze in ein "s/..../..../g" eingebunden für das Suchen+Ersetzen: "s/^\s*//g"
und schlussendlich noch das "für jede Zeile der Datei" mit ":%" oder mit ":1,$ " dann ergibt sich:
:%s/^\s*//g
oder
:1,$ s/^\s*//g
It just works.
vim/gvim kennt ausser "\s" noch eine ganze menge weiterer Pattern
Einfach mal im vim/gvim ":help pattern" eintippen oder zu http://www.vim.org/htmldoc/pattern.html gehen
Für den Emacs:
Löschen von Leerzeichen/Tabs am Zeilenanfang mit dem Emacs:
M-x query-replace-regexp <enter>^[<leerzeichen><tab>]*<enter><enter>
Das <enter>, <leerzeichen> und <tab> ist nicht als Text einzutippen, sondern es sind die jeweiligen Tasten zu drücken
Siehe auch innerhalb des Emacs wenn du "C-h a query-replace-regexp" eintippst.
Einfach mal im vim/gvim ":help pattern" eintippen oder zu http://www.vim.org/htmldoc/pattern.html gehen
Für den Emacs:
Löschen von Leerzeichen/Tabs am Zeilenanfang mit dem Emacs:
M-x query-replace-regexp <enter>^[<leerzeichen><tab>]*<enter><enter>
Das <enter>, <leerzeichen> und <tab> ist nicht als Text einzutippen, sondern es sind die jeweiligen Tasten zu drücken
Siehe auch innerhalb des Emacs wenn du "C-h a query-replace-regexp" eintippst.
It just works.