Паредит и транспонировать кодовые блоки

Если у меня есть следующее s-выражение:

(if true (this) (that))

И я хочу:

(if true (that) (this))

Как паредит помогает транспонировать (this) а также (that)?

1 ответ

Решение

Я не знаю, что такое "paredit", но в Emacs вы можете поставить точку между (this) а также (that) и нажмите CMt, который запускает команду transpose-sexps:

Как Ct (transpose-chars), но относится к секстам.

В отличие от transpose-words Точка должна быть между двумя полами, а не посреди пола, чтобы транспонировать.

С ненулевым префиксом arg ARG, эффект заключается в том, чтобы взять sexp до точки и перетащить его вперед за ARG других sexps (назад, если ARG отрицательно). Если ARG равен нулю, полы, заканчивающиеся в или после точки и в или после метки, меняются местами.

Другие вопросы по тегам