2008-09-14 15 views
30

В частности, что представляет собой лучший пакет отпечатков?Что такое лучший шаблон для Emacs?

Особенность:

  • легко определить новые фрагменты (простой текст, пользовательские входной со значениями по умолчанию)
  • простой навигации между предварительно определенными позициями в фрагменте
  • множественный ввод одного и тот же пользовательского ввода
  • принимает выбранный текст в качестве пользовательского ввода
  • кросс-платформенный (Windows, Linux)
  • динамически оцениваемые выражения (встроенный код), написанная в сжатом языке программирования (Perl, Python, Ruby является предпочтительными)
  • прекрасно сосуществует с другими пакетами в Emacs

Пример шаблона кода, простой for петли C:

for (int i = 0; i < %N%; ++i) { 
    _ 
} 

Очень много типизации для такого общего кода. Я хочу вызвать шаблон кода или фрагмент кода, который вставляет этот шаблонный код для меня. Кроме того, он останавливается (на TAB или другой клавише) на %N% (мой вход заменяет его), а конечная позиция курсора _.

ответ

23

TextMate's snippets самые близкие совпадения, но это не межплатформенное решение, а не для Emacs.

Вторая ближайшая вещь yasnippet (screencast показывает основные возможности). Но он вмешивается в пакет hippie-expand в моей настройке, а встроенный язык - это EmacsLisp, который мне не удобно с внешним адресом .emacs.

EDIT: Опубликован мой ответ здесь, чтобы разрешить голосование по телефону yasnippet.

3

EmacsWiki имеет page of template engines.

Из них я использовал tempo в (отдаленном) прошлом, чтобы добавить поддержку таблицы в html-helper-mode, но не знаю, как она продвинулась за последние 15 лет.

3

Я хотел бы добавить свой голос tempo snippets ... прост в установке, мощный (вы можете запустить произвольный Elisp в шаблоне - так что вы можете downcase вещи, LookUp FileNames & классы, подсчитывать вещи, и т.д.), установите отступы, интегрироваться с ... Я сокращений использую это много;)

2

Я голосую за http://cedet.sourceforge.net/srecode.shtml

это очень чистый синтаксис и имеет доступ к коду среды через Semantic.

Также он является частью большого поддерживаемого CEDET дистрибутива (который был встроен в Emacs для версии 24.x).

ОБНОВЛЕНИЕhttps://github.com/capitaomorte/yasnippet также мощный двигатель шаблонов. Но он использует уродливую схему именования файлов (имя вашего файла === имя шаблона), потому что вы не можете поместить несколько шаблонов в один файл и иметь проблемы с национальными наборами символов ...

 Смежные вопросы

  • Нет связанных вопросов^_^