Emacs: ввод команд, как в gedit
В gedit можно определить так называемые "сниппеты"для более простого ввода.
Например, есть фрагмент while
. Это означает: Если вы набираете while ->
(->
расшифровывается как tab key). И gedit автоматически преобразует его в следующее (включая правильный отступ):
while (condition){
}
В vim (совместно с latex-suite) я увидел следующее: Если вы набираете (, vim вставляет только (
. Если вы печатаете ( во второй раз vim автоматически преобразует его в left( right)
.
Я нашел abbrev-mode
, но этот режим не помещает курсор должным образом (т. е. между скобками или внутри цикла while).
Мне удалось создать пользовательские привязки клавиш emacs / макросы, которые делают то же самое (без необходимости нажимать клавишу tab), поэтому я знаю, что это возможно.
Однако, есть ли уже и пакет, где вы можете определить такие "сниппеты" без особых усилий? Или есть даже какие-то серьезные причины не использовать такие вещи?
3 ответа:
См yasnippet. Он предоставляет фрагменты для большинства основных языков, и легко добавлять новые или изменять старые.
Да, ясниппет, вероятно, путь. Но убедитесь, что вы изучили основной режим, который вы используете для редактирования - когда пишете в LaTeX, изучите auctex. Основные режимы могут содержать функциональность, которая делает некоторые фрагменты бессмысленными, и делать то же самое еще лучше. Таким образом, вместо использования начала/конца фрагмента в буфер, латекс, попробовать С-С С-Е в auctex выступает. Etc:)