Я знаком с и очень часто использую от C-l (recenter-top-bottom) до
C-l
recenter-top-bottom
Переместить текущую строку в центр окна, сверху и снизу подряд.
Мне бы хотелось иметь эквивалентную команду для последовательного перемещения текущего столбца в центр окна, влево и вправо. Либо встроенный, либо фрагмент Elisp.
Вот, пожалуйста:
(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)
Если вы переместитесь в выбранный столбец и нажмете C-x C-n, то команды C-n и C-p будут идти в этот столбец, пока вы не нажмете C-u C-x C-n, чтобы отключить поведение.
Этакая версия того, что вы ищете.