Reguläre Ausdrücke (oft mit "Regex" abgekürzt) sind Ausdrücke, die in einer deklarativen Sprache geschrieben sind und zum Abgleichen von Mustern innerhalb von Zeichenfolgen verwendet werden.
Normaler Befehl: Sortieren kann Zeilen nach Spalte oder virtueller Spalte ( \%coder \%v) sortieren. Kann die übergeordnete logische Spalte als Sortierschlüssel verwendet werden? Die Verwendung von regulären Ausdrücken sieht für dieses Szenario etwas komplex aus (die Spalte befindet sich am Ende der Zeile?) Und sieht ähnlich aus wie das Sortierdienstprogramm …
Gibt es eine Möglichkeit, dass vim HTTP-URLs und E-Mail-Adressen nicht als Rechtschreibfehler kennzeichnet? Oder allgemeiner eine Möglichkeit, Regexe gültiger Schreibweisen aufzulisten?
Ich möchte ein einfaches Vim-Skript erstellen, das einfach n Zeilen löscht, 1 Zeile überspringt und bis zum Ende des Dokuments wiederholt. Ich kümmere mich nicht um bestimmte Übereinstimmungen, ich möchte nur die Zeile löschen. Zum Beispiel; Daher möchte ich den Befehl 3ddjfür das gesamte Dokument wiederholen . Text I want …
Beim Bearbeiten der Syntaxdatei habe ich Folgendes gefunden: \s*\%(\%(:\@<!\/\/.*\)\=\|\%(\/\*.*\*\/\s*\)*\)$ Ich kenne andere als \%und \@dort. Ich kann nicht einmal googeln, weil ich nicht weiß, wie es heißt. Also was ist es und was macht es?
Gibt es eine Alternative beim Suchen und Ersetzen von Zeichenfolgen durch vim, als jedes Sonderzeichen in Zeichenfolgen zu umgehen? Zum Beispiel, wenn ich die folgende Zeichenfolge abgleichen und durch etwas ersetzen möchte [ERROR] Login unsucessful Dann muss ich tun :%s/\[ERROR\]\ Login\ unsucessful/something/g Und es wird viel hässlicher und schmerzhafter für …
Ich verwende den folgenden regulären Ausdruck, um eine Dokumentationszeichenfolge unter einer Clojure-Funktionsdefinition abzugleichen: \vdefn.*\n\s*\zs"([^"]|\n)*" Gibt es eine Möglichkeit, den gqBefehl für den normalen Modus (Zeilen formatieren) für alle Übereinstimmungen dieses Musters in einer bestimmten Datei auszuführen ?
Ich habe eine Datei mit folgendem Muster: foo 111 baz foo 222 baz foo 333 baz was in verwandelt werden muss foo 111 bar 111 baz foo 222 bar 222 baz foo 333 bar 333 baz Duplizieren Sie also alle Zeilen, die mit beginnen foo, und ändern Sie nur foodas …
Ich stoße oft auf eine Situation, in der ich eine Datei mit vielen gemischten Fällen habe. Zum Beispiel, CamelCase and camelCase Ich suche nach einem Vim-Ersatz für reguläre Ausdrücke, um zu produzieren, AnotherCase and anotherCase Im Moment mache ich das in zwei Schritten, nachdem ich die Linien visuell ausgewählt habe. …
Ich habe das folgende Format der Datei: <common> fitnes=0 genetic=1 method=0 </common> <inputs> foo=bar bar=foo </inputs> <limits> balance=200.00 </limits> und ich möchte alles löschen, was zwischen <inputs>und liegt </inputs>(ausgenommen Muster selbst) und es durch den Inhalt einer anderen Datei ersetzen (z foo.txt. B. ). Mit anderen Worten, Zeilen mit foo=barund …
Ich habe Wörter wie lblSERINOdin Sätzen. Wörter werden durch Leerzeichen getrennt. Ich möchte das dam Ende all dieser Wörter durch ersetzen u. So wird zum Beispiel lblSERINOdaussehen lblSERINOu. Ich habe es versucht, s/.*\ud /u /gaber Vim sagt, es kann nicht finden .*\ud. Was ist das Problem hier?
Ich versuche, ein Skript für die Fuzzy-Suche in einem Puffer zu erstellen. Die Hauptidee ist eine Eingabe zu nehmen, und fügen Sie .\{-}zwischen jedem Paar von Zeichen, zB foowird f.\{-}o.\{-}o. Dies funktioniert ziemlich gut, führt jedoch zu vielen nicht idealen Übereinstimmungen. Ich denke, eine Fuzzy-Suche sollte zuerst die kürzesten Übereinstimmungen …
Ich bin ein wenig verwirrt über die Regex-Vergleichsoperatoren von VimScript. Wenn ich mir :h =~?mein Verständnis anschaue , =~kann dies verwendet werden, um ein Regex-Match durchzuführen (wobei die ?Groß- und Kleinschreibung nicht berücksichtigt wird). Aber dieser Code gibt "nein" aus: let s:myVar = "S123" if s:myVar =~? "^S\d+" echo "yes" …
Ich habe dieses Code-Snippet: # import ipdb; ipdb.set_trace() def foo(): ... import ipdb; ipdb.set_trace() ... # import ipdb; ipdb.set_trace() Wie soll ich eine Suchabfrage angeben, damit nur die nicht kommentierten ipdbZeilen gefunden werden? Ich denke, der Befehl könnte ungefähr so aussehen: /import ipdb/(line start flag)
Ich möchte ein Zeichen durch sein Hex-Literal ersetzen. Zum Beispiel vor Regex: h Nach Regex: 0x68 Ich versuche das: s/\([a-z]\)/\=printf("%#02x", submatch(0))/ Aber das ersetzt es durch 00 Was mache ich falsch? Ist das überhaupt möglich?
Ich habe einen häufigen Anwendungsfall, wenn ich einen Python-Ausdruck folgendermaßen transformiere: value 1 value 2 value 3 in ['value 1', 'value 2', 'value 3'] Der einfachste Weg ist vielleicht, ein Mapping zu verwenden, aber ich wollte eine Ersetzung für diese Aufgabe verwenden. Bisher habe ich: s/\(.*\n\)\+/[&]/g Welches Ergebnis in [value …
We use cookies and other tracking technologies to improve your browsing experience on our website,
to show you personalized content and targeted ads, to analyze our website traffic,
and to understand where our visitors are coming from.
By continuing, you consent to our use of cookies and other tracking technologies and
affirm you're at least 16 years old or have consent from a parent or guardian.