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 ?=) производит ваш пример строки (минус ведущий ";; " который вы можете добавить сами).

Другие вопросы по тегам