Предположим, у меня есть этот код
(hello world)
(hi world)
Затем мне приходит в голову, что я должен обернуть это следующей формой:
(let (acc)
<>
(nreverse acc))
в результате получается этот код:
(let (acc)
(hello world)
(hi world)
(nreverse acc))
Вот как я обычно делаю обертывание. Сначала я пишу неполную внешнюю форму перед формами, подлежащими обертыванию, следующим образом:
(let (acc))
(hello world)
(hi world)
Затем я дважды нажимаю C-)
(paredit-forward-slurp-sexp
), чтобы что-то проглотить:
(let (acc)
(hello world)
(hi world))
Затем я заканчиваю, добавляя (nreverse acc)
в конце.
Теперь мне интересно, что, если я начну с написания полного шаблона внешней формы, подобного этому?
(let (acc)
(nreverse acc))
(hello world)
(hi world)
или вот так
(hello world)
(hi world)
(let (acc)
(nreverse acc))
Есть ли короткая последовательность команд paredit или non-paredit, которую я могу нажать, чтобы завершить задание с этого начала?
Я мог переместить точку, вырезать две формы, которые нужно было обернуть, переместить точку, вставить формы. Но мне интересно, есть ли более удобный способ.
Я доволен тем, как я делаю обтекание, но мне кажется, что я мог упустить некоторые другие изящные приемы редактирования, которые можно найти с другого начала.