环绕柔软包裹的视线

时间:2018-05-07 16:46:39

标签: emacs

我有一个函数,我想在一个循环中应用视觉线而不是仅仅是硬包裹的线。我如何迭代视线?

1 个答案:

答案 0 :(得分:1)

我不确定这是最好的方法,但您可以将next-line与非line-move-visualbeginning-of-visual-lineend-of-visual-line一起使用。

示例:

(defun foo (&optional start end)
  (interactive)
  (let ((start (or start (point-min)))
        (end (or end (point-max)))
        b e)
    (goto-char start)
    (while (<= (point) end)
      (beginning-of-visual-line)
      (setq b (point))
      (save-excursion 
        (end-of-visual-line)
        (setq e (point)))
      (message "%d %d" b e)
      (let ((line-move-visual t))
        (next-line)))))