Emacs: введите команды как в gedit - PullRequest
5 голосов
/ 27 июля 2010

в gedit можно определить так называемые «фрагменты» для более простого ввода.

Например, есть фрагмент while. Это означает: если вы наберете while -> (-> обозначает клавишу табуляции). И gedit автоматически преобразует его в следующее (включая правильное отступ):

while (condition){

}

В vim (совместно с latex-suite) я увидел следующее: если вы наберете (, vim вставит только (. Если вы наберете ( во второй раз , vim автоматически преобразует его в \left( \right).

Я нашел abbrev-mode, но в этом режиме курсор не помещается должным образом (то есть между скобками или внутри цикла while).

Мне удалось создать пользовательские сочетания клавиш / макросы emacs, которые делают то же самое (без необходимости нажимать клавишу Tab), поэтому я знаю, что это возможно.

Однако, есть ли уже и пакет, в котором вы можете определить такие "фрагменты" без особых усилий? Или есть какие-то серьезные причины не использовать такие вещи?

Ответы [ 3 ]

8 голосов
/ 27 июля 2010

См. Ясниппет .Он предоставляет фрагменты для большинства основных языков, и легко добавлять новые или изменять старые.

3 голосов
/ 27 июля 2010

Да, ясниппет - это, вероятно, путь.Но убедитесь, что вы изучили основной режим, который вы используете для своего редактирования - при написании в LaTeX изучите auctex.Основные режимы могут содержать функциональность, которая делает некоторые фрагменты бессмысленными, и делают то же самое еще лучше.Поэтому вместо использования начала / конца-фрагмента в буфере LaTeX, попробуйте Cc Ce в auctex.Etc:)

1 голос
/ 29 июля 2010

Не забудьте режим abbrev.

...