Derleme/grep
arabelleğinde point
konumunun tam olarak kaydedilmesi için böyle bir geçici çözüm kullanıyorum:
(defun eab/compile-goto-error ()
(interactive)
(let ((istc? truncate-lines))
(toggle-truncate-lines t)
(let ((buf (current-buffer))
(line (- (count-lines (window-start) (point))
(if (eq (point) (point-at-bol)) 0 1)))
(point (point)))
(compile-goto-error)
(run-with-timer 0.01 nil `(lambda ()
(let ((cb (current-buffer)))
(pop-to-buffer ,buf)
(recenter ,line)
(goto-char ,point)
(toggle-truncate-lines ,istc?)
(pop-to-buffer cb)))))))
derleme/grep
arabelleğinde point
'in basit merkezlemesini istiyorsanız, şunu kullanın:
(defun eab/next-error ()
(interactive)
(let ((buf (current-buffer)))
(next-error)
(run-with-timer 0.01 nil `(lambda ()
(let ((cb (current-buffer)))
(pop-to-buffer ,buf)
(recenter)
(pop-to-buffer cb))))))
İlk örnekte derleme-goto-error
yerine next-error
kullanabilirsiniz.
Post. Emacs 25.1 sıfır olmayan süre için gereklidir.