バッファが狭すぎる場合、見出しのタグを作成すると、タグの前の空白の量により、タグが行の終わりを越えて新しい行にvisual-line-mode
折り返されます(オンにしました)。これにより、見出しを読み飛ばして読むのが難しくなり、垂直画面の不動産が無駄になります。
理想的には、実際のスペースの数に関係なく、タグは常に右揃えで表示されると思います。それを行う方法はありますか?そうでない場合、無駄なスペースを回避する他の方法はありますか?
バッファが狭すぎる場合、見出しのタグを作成すると、タグの前の空白の量により、タグが行の終わりを越えて新しい行にvisual-line-mode
折り返されます(オンにしました)。これにより、見出しを読み飛ばして読むのが難しくなり、垂直画面の不動産が無駄になります。
理想的には、実際のスペースの数に関係なく、タグは常に右揃えで表示されると思います。それを行う方法はありますか?そうでない場合、無駄なスペースを回避する他の方法はありますか?
回答:
このような問題を解決するために、elispに取り組んでいます。
(defun nanny/org-realign-tag-column ()
(interactive)
(if (and (equal major-mode 'org-mode)
(org-get-buffer-tags))
;; ignore `message' with flet so org-set-tags doesn't yell at us.
(flet ((message (&rest args) 'ignore))
(let ((col (- (- (window-width) 3)))
(already-modified? (buffer-modified-p)))
(setq org-tags-column col)
(org-set-tags 4 t)
;; `org-set-tags' modifies the buffer, but I don't really care, so
;; mark the buffer as unmodified if it was unmodified previously.
(if (not already-modified?)
(set-buffer-modified-p nil))))))
(add-hook 'window-configuration-change-hook 'nanny/org-realign-tag-column)
これにより、タグ列が再調整され、常に最適なサイズになります。
現在、水平方向に分割されたウィンドウの幅が等しくない場合、正しく機能しません。
(setq org-tags-column 0)
上記の変数のdoc-stringを参照してください:M-x describe-variable RET org-tags-column RET
-" 見出しでタグをインデントする列。この数値が正の場合、列を指定します。負の場合、は、タグがその列にぴったり合っていることを意味します。たとえば、-80は通常の80文字の画面に適しています。0の場合、見出しテキストの直後にスペースを1つだけ入れてタグを配置します。 "