Wie kann ich, beginnend mit dem Punkt oder der aktiven Region, schnell (in einem Tastendruck / Befehl) 'erweitern', um den nächsten Satz einschließender Klammern einzuschließen?
Wenn ich anfange mit: ( |
bedeutet Punkt)
(defn foo [x] (+ x |42))
Oder wenn ich beginne mit: ( <
und >
die ausgewählte Region einklammern)
(defn foo [x] (+ x <42>|))
Ich möchte mit enden
(defn foo [x] <(+ x 42)>|)
quelle
expand-region
Funktion zum sofortigen Markieren der Liste aufgerufener/mark-outside-pairs
.Ich bin damit einverstanden, dass Sie es versuchen sollten,
expand-region
wie in einer anderen Antwort vorgeschlagen (für die ich stimme ).Aber nur für den Fall, dass Sie mit den relevanten integrierten Befehlen nicht vertraut sind:
In Ihrem ersten Beispiel, in dem es keine Region gibt, können Sie
C-M-u C-M-SPC
die umschließende Liste markieren. Wenn bereits eine ausgewählte Region vorhanden ist, erweitern diese Befehle diese. Wenn42
also ausgewählt ist und SieC-M-u
darauf klicken, wird die Auswahl rückwärts bis zum Anfang der Liste erweitert, ohne dass der schließende Paren enthalten ist.In Abwesenheit von so etwas wie
expand-region
würde ich drückenC-g
, um eine aktuelle Auswahl abzubrechen, dannC-M-u
so viele Parens zurückzugehen, wie Sie möchten, und dannC-M-SPC
zu markierenquelle
Im Falle der aktiven Region, hin lispy wird tun , was Sie wollen. Siehe meinen letzten Intro-Beitrag .
Im ersten Fall müssen Sie M-m h.
Update: Alle Optionen, mit denen Sie haben
lispy
Beginnen mit:
Hier
~
bezeichnet die Markierung (den Beginn der Region) und|
den Punkt (das Ende der Region).Mit hdir bekommen:
Mit ldir bekommen:
Mit kdir bekommen (rückgängig machen mit j):
Mit 2koder kkdu bekommst:
Mit ddir bekommen:
Mit d>dir bekommen (rückgängig machen mit <):
Mit d2>oder d>>du bekommst:
Mit mdir bekommen:
Nur zusammenzufassen, wenn Region aktiv ist, h, j, k, l sind die Pfeile, die die Region bewegen. >vergrößert die Region um eine semantische Einheit in Richtung des Punktes. <verkleinert die Region um eine semantische Einheit in Richtung des Punktes. mdeaktiviert die Markierung. iwählt das erste Element der Region aus und dtauscht Punkt und Markierung aus.
quelle