Если вам нужна строка mm/dd/yyyy
вместо объекта datetime
, вы можете использовать strftime
(время форматирования строки):
>>> dt.datetime.today().strftime("%m/%d/%Y")
# ^ note parentheses
'02/12/2014'
После запуска по пути попытки использовать minibuffer-scroll-window
(которое оказывается не настраиваемым пользователем). Я попробовал такой подход:
(add-to-list 'special-display-buffer-names '("*Completions*" my-display-completions))
(defun my-display-completions (buf)
"put the *completions* buffer in the right spot"
(let ((windows (delete (minibuffer-window) (window-list))))
(if (eq 1 (length windows))
(progn
(select-window (car windows))
(split-window-vertically)))
(let ((target-window (window-at 0 (- (frame-height) 2)))
(pop-up-windows t))
(set-window-buffer target-window buf)
target-window)))
Это работает путем разделения единственного окна на две и отображения * Завершений *
в нижнем окне или, если уже показано 2 или более окон, с помощью нижнего левого угла. окно, чтобы отобразить * Завершенные работы *
.
Слегка обманывающий ответ, что может делать то, что вы хотите:
Вручную сделайте нижнее левое окно буфером * Завершений *, используя
C-x b *Completions* RET
, когда курсор активен в этом окне. Затем всякий раз, когда минибуфер должен отображать некоторые завершения, он всегда должен использовать это конкретное окно. Однако это будет зависеть от того, что этот буфер будет оставаться открытым и видимым все время - возможно, это не совсем то, что вам нужно?
Другие возможности:
Не так надежно, как ответ Трея, но, похоже, работает грубо.
; Go to the 3rd window, and make it dedicated.
(other-window 2)
(set-window-dedicated-p (selected-window) 1)
Это работает, только если вы не возражаете, чтобы третье окно было заблокировано. К сожалению, время от времени он по-прежнему будет пытаться использовать первое окно (что менее неприятно, но все же нежелательно).
Примечание: Я только что попробовал решение Трея, и теперь оно сработало, поэтому я рекомендую людям его использовать.