将源代码行号映射到“已打印”页码

时间:2014-02-13 23:45:03

标签: emacs elisp

有时我在emacs中搜索某个变量,然后尝试在我手头的文件的打印输出中查找我应查找的页面。 考虑到我使用的打印参数,是否有可能让emacs显示一个“虚拟”页码,该页码映射到光标指向的位置?

我正在尝试使用“模式行”,因为每个打印页面有72行,然后页码= line_number / 72 + 1。 但这不起作用:

(setq-default    mode-line-format
         '("" mode-line-modified "" 
           mode-line-buffer-identification "-" 
           "[" mode-name "." mode-line-process "." minor-mode-alist "" "%n" "]" 
           line-number-mode   "-" "L%l" 
           "-" "P" (+ 1 (/ %l 72))
           column-number-mode "-" "C%c" 
           mode-line-misc-info ""
           abbreviated-file-name 
           "%-"
           )
         )

Anny指针?

1 个答案:

答案 0 :(得分:1)

您可以使用(force-mode-line-update)

等强制模式行更新post-command-hook
(setq-default mode-line-format '(
  " "
  (:eval (format "Line %s | Page %s"
    (line-number-at-pos) (+ 1 (/ (line-number-at-pos) 72)) ))))