LINUX.ORG.RU

[Emacs] небольшой вопрос про fill-paragraph


0

1

Как запретить слияние некоторых строк? Например, заканчивающихся на определенный символ...
Зачем надо:

#+begin_src c++
template <class StateType,
	  class EventType,
	  const STT <StateType, EventType> * t>
class SFSM {...}
#+end_src
   StateType -- тип возможных состояний автомата.
   EventType -- тип событий.
   const STT <StateType, EventType> * t -- указатель на таблицу переходов, ``State Transition Table''.
M-q
#+begin_src c++
template <class StateType,
	  class EventType,
	  const STT <StateType, EventType> * t>
class SFSM {...}
#+end_src
   StateType -- тип возможных состояний автомата.  EventType -- тип
   событий.  const STT <StateType, EventType> * t -- указатель на
   таблицу переходов, ``State Transition Table''.
FFFFFUUUUUUUUU
Т.к. fill-paragraph применяется к параграфу, можно сделать так:
C-a C-m M-q C-p C-k
, но не удобно же!

ЗЫ: похожий вопрос про Org-mode: Как сказать org-mode, чтобы при экспорте он перенес строку? Что-то читал про это в мануале, но сейчас найти не смог...

fill-paragraph is an interactive compiled Lisp function in `fill.el'.

It is bound to M-q.

(fill-paragraph &optional JUSTIFY REGION)

Fill paragraph at or after point.

If JUSTIFY is non-nil (interactively, with prefix argument), justify as well. If `sentence-end-double-space' is non-nil, then period followed by one space does not end a sentence, so don't break a line there. The variable `fill-column' controls the width for filling.

If `fill-paragraph-function' is non-nil, we call it (passing our argument to it), and if it returns non-nil, we simply return its value.

If `fill-paragraph-function' is nil, return the `fill-prefix' used for filling.

The REGION argument is non-nil if called interactively; in that case, if Transient Mark mode is enabled and the mark is active, call `fill-region' to fill each of the paragraphs in the active region, instead of just filling the current paragraph.

lazyklimm ★★★★★ ()
Ответ на: комментарий от kermzyxer

посмотри на fill.el, там есть переменная fill-nobreak-predicate, в которой хранится список предикатов, по которым определяются места, которые не нужно разрывать. Там есть пара примеров - можешь по образцу fill-single-word-nobreak-p сделать свой.

lazyklimm ★★★★★ ()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.