命令将屏幕水平放置在emacs上的光标周围?

时间:2009-08-08 17:58:09

标签: emacs editor navigation elisp

我很熟悉并经常使用C-lrecenter-top-bottom

  

将当前行移至窗口中心,   顶部和底部,先后。

我希望有一个等效命令将当前的连续移动到窗口中心,左右边框。内置或Elisp的片段。

2 个答案:

答案 0 :(得分:11)

你走了:

(defun my-horizontal-recenter ()
  "make the point horizontally centered in the window"
  (interactive)
  (let ((mid (/ (window-width) 2))
        (line-len (save-excursion (end-of-line) (current-column)))
        (cur (current-column)))
    (if (< mid cur)
        (set-window-hscroll (selected-window)
                            (- cur mid)))))

明显的绑定(来自obvio171)是:

(global-set-key (kbd "C-S-l") 'my-horizontal-recenter)

答案 1 :(得分:3)

如果你移动到一个选定的列并点击C-x C-n,那么命令C-n和C-p将进入该列,直到你点击C-u C-x C-n来关闭该行为。

你正在寻找的一种穷人版本。