分割バッファのサイズ変更
縦サイズ広げる: C-x ^
左右を広げる: C-x }
もっと楽に調整したいなり…。
楽にしたいとは具体的に何をさすのか。
今のバッファサイズの半分増減して欲しい。
もしくは切り替えて欲しい。
作った
;; 縦サイズをcntで分割して、小さい方の割合と、残ったサイズを返却
(defun window-height-div (
cnt ;分割数
sm-ratio ;小さい方の割合
)
(let* ((fh (frame-height))
(fh-one (/ fh cnt))
(small (* fh-one sm-ratio))
(big (* fh-one (- cnt sm-ratio))))
`(,small ,big)
)
)
(defun window-adjust (f)
(let* ((sm-big (window-height-div 3 1)))
(funcall f sm-big)))
(defun adjust-height (hei)
(- hei (window-height)))
(defun window-adjust-sm ()
(interactive)
(enlarge-window (window-adjust #'(lambda (x) (- (car x) (window-height))))))
(defun window-adjust-big ()
(interactive)
(enlarge-window (window-adjust #'(lambda (x) (- (cadr x) (window-height))))))
(global-set-key (kbd "C-c w s") #'window-adjust-sm)
(global-set-key (kbd "C-c w b") #'window-adjust-big)
細かい要求など脳内に存在してなかったので、1/3か2/3でサイズ調整するよみたいな実装にした。
smは多分そこまで使わんのかな。
bigの方はもうちょっと高くならんのか!?っとなったときに使えそう。多分。
このコマンドを書くにあたって、以下の本が非常に参考になった。
Emacs Lispテクニックバイブル | るびきち |本 | 通販 | Amazon
いつものだね。
基本的に僕の検索ではあまりEmacs Lisp情報は欲しいものは出てこないので、
こういった本には非常に助けられている。
親と本と彼女(nil)にマジ感謝。