Должен был отправить рекурсивный пример:
private static string Reverse(string str)
{
if (str.IsNullOrEmpty(str) || str.Length == 1)
return str;
else
return str[str.Length - 1] + Reverse(str.Substring(0, str.Length - 1));
}
Вот так:
(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)
Если вы переместитесь в выбранный столбец и нажмете Cx Cn, то команды Cn и Cp будут переходить в этот столбец, пока вы не нажмете Cu Cx Cn, чтобы отключить поведение.
Этакая версия того, что вы ищете, для бедняков.