Команда для вставки для заяву скелету

Як би написати функцію, яку можна було б пов'язати, скажімо, SUPER-f, який вставляє код:

for() {
}

в буфері, коли мій курсор переміщений у() parens для заповнення петлі охоронця?

2
Що ти намагався
додано Автор EndangeredMassa, джерело
@of: якщо yasnippet вирішить вашу проблему, надішліть відповідь на своє власне запитання, в якому докладно описується рішення, і прийняти його.
додано Автор Scott Cowan, джерело
Ви вже чули про yasnippet ?
додано Автор Peter Burns, джерело
Не намагався багато чого, оскільки мої знання emacs обмежені тим, що вбудовується. Проте, я не чув про яснеппет і, здається, це робить.
додано Автор Josh Belmont, джерело

1 Відповіді

Я думаю, що я зробив це так:

(define-skeleton my-for-statement
  "Insert a for() {...} skeleton."
  nil
  \n "for() {" \n > _ "}" \n)

The \n are for "newlines" (and the ones at beg/end are only added if needed). The _ basically says that if you have selected a region before running the command, then this region will end up right where _ is (IOW, the region will be wrapped by the "for" statement). And the > in front causes this region (if any) to be re-indented.

Потім ви можете виконати M-x my-for-statement , і це буде вставляти твердження.

2
додано