Я начинаю новичок (но не программирую) и задаю несколько вопросов о наилучшей практике для реализации функции. Я написал функцию elisp, которая переформатирует исходный код ассемблера в соответствии с определенными правилами; эта функция работает в течение одной строки. В основном он использует навигацию по линиям, поиск и замещение вызовов по подвыражениям для достижения цели.Как эффективно перемещаться по линиям модификации буфера emacs
Теперь я хотел бы применить его к отмеченной области, обрабатывая область по строкам. Поведение будет аналогично положению функции отступа.
Каков рекомендуемый (и эффективный) способ его реализации? Я считаю, что (line-number-at-pos ...)
применяется к (region-beginning)
и (region-end)
для подсчета номеров строк, а затем перемещения сверху вниз, работая через буфер по строкам, изменяя их.
Кроме того, что мне нужно для сохранения этой операции? Я, однако, о (save-match-data ...) и не уверен, как обращаться с меткой и точкой. Я думаю, они будут бесполезны, поскольку объем текста изменился.
Вы хотели бы принять посмотрите на http://emacs.stackexchange.com/questions/19518 – Stefan