emacs: выравниваемая строка с символом
Есть ли команда emacs, чтобы дополнить строку символом? В частности, я хотел бы иметь возможность принять
;; Foobar
и получить
;; ===================================Foobar====================================
где Foobar центрирован в поле ширины 77. Для ясности я произвел вывод выше через код Python ";; {:=^77}".format("Foobar")
,
1 ответ
Решение
Я не знаю ни одной существующей функции для этого, но ее легко написать:
(defun center-string-in-char (str len char)
(store-substring (make-string len char) (/ (- len (length str)) 2) str))
Сейчас (center-string-in-char "Foobar" 77 ?=)
производит ваш пример строки (минус ведущий ";; "
который вы можете добавить сами).