2
私はEmacsバッファ(thanks to zev!)の両端に1文字のマージンを設定するには、次のコードを使用しています:Emacsのマージン幅を切り替えるには?
(add-hook 'window-configuration-change-hook
(lambda()
(set-window-margins (car (get-buffer-window-list (current-buffer) nil t)) 1 1)))
しかし、私はまた私に非常に広いを与える別の構成を持っているしたいのですが左右のマージン(例えば、30文字)。どのようにすれば、これらの2つの状態の間で切り替えるためのホットキーを割り当てることができますか?、すべてのバッファに対して?
私は次のことを試してみました:
(global-set-key [(control f10)]
(add-hook 'window-configuration-change-hook
(lambda()
(set-window-margins (car (get-buffer-window-list (current-buffer) nil t)) 30 30))))
しかし、このエラーました:私は間違っ
Wrong type argument: commandp, ((lambda nil (set-window-margins (car (get-buffer-window-list (current-buffer) nil t)) 30 30)) (lambda nil (set-window-margins (car (get-buffer-window-list (current-buffer) nil t)) 1 1)) frame-local-variables-check)
を?説明をありがとう。乾杯!
EDIT:
私はこのような広いマージンを提供darkroom-modeをよく知っています。しかし、それは私のXP上で完璧に動作していないようです。
+1。これは非常にうまくいく、ありがとう。 – marttt
しかし、**すべての**バッファでこの作業をどうすればできますか? '(get-buffer-window-list(buffer-list))を設定することは役に立ちませんでした。ありがとう! – marttt
@mart 'set-window-margin'はバッファ上で動作しません。ウィンドウ上で動作します。私はコードを追加しましたが、Elispのinfoページを読むことをお勧めします: 'M-x info RET m Elisp RET' – pmr