Zaczynając od punktu lub regionu aktywnego, jak szybko (jednym naciśnięciem klawisza / polecenia) „rozwinąć”, aby uwzględnić następny zestaw nawiasów otaczających?
Jeśli zacznę od: ( |
oznacza punkt)
(defn foo [x] (+ x |42))
Lub jeśli zacznę od: ( <
i >
zaznacz wybrany region)
(defn foo [x] (+ x <42>|))
Chcę z tym skończyć
(defn foo [x] <(+ x 42)>|)
źródło
expand-region
wywoływana jest specjalna funkcja oznaczania listy natychmiaster/mark-outside-pairs
.Zgadzam się, że powinieneś spróbować
expand-region
zgodnie z sugestią zawartą w innej odpowiedzi (na którą głosuję).Ale na wypadek, gdyby nie znasz odpowiednich wbudowanych poleceń:
W pierwszym przykładzie, w którym nie ma regionu, którego można użyć
C-M-u C-M-SPC
do zaznaczenia załączonej listy. Jeśli istnieje już wybrany region, polecenia go rozszerzają. Więc jeśli42
zostanie wybrane, a ty wciśnieszC-M-u
, rozszerzy to zaznaczenie do tyłu na początek listy, ale nie będzie zawierało paren zamykających.Więc w przypadku braku czegoś takiego
expand-region
uderzyłbym,C-g
aby anulować bieżący wybór, a następnieC-M-u
cofnąć tyle parenów, ile chcesz, a następnieC-M-SPC
zaznaczyćźródło
W przypadku aktywnego regionu, hw lispy będą robić to, co chcesz. Zobacz mój ostatni wpis wprowadzający .
W pierwszym przypadku musisz M-m h.
aktualizacja: wszystkie dostępne opcje
lispy
Począwszy od:
Tutaj
~
oznacza znak (początek regionu) i|
punkt (koniec regionu).Otrzymasz h:
Otrzymasz l:
Z ktobą otrzymujesz (nieodwracalne j):
Z 2klub kkotrzymasz:
Otrzymasz d:
Z d>tobą otrzymujesz (nieodwracalne <):
Z d2>lub d>>otrzymasz:
Otrzymasz m:
Wystarczy, aby podsumować, kiedy region ten jest aktywny, h, j, k, l są strzałki, które poruszają ten region. >powiększa region o jedną jednostkę semantyczną w kierunku punktu. <zmniejsza region o jedną jednostkę semantyczną w kierunku punktu. mdezaktywuje znak. iwybiera pierwszy element regionu i dwymienia punkt i znak.
źródło