Emacsで長い行を書いていると,デフォルトの状態ではどんどん横に伸びていく.後で読み返そうと思うと横にスクロールしないといけなくて,非常に不便である.M-qでauro-fillをやればよいと言われそうだが,そうすると改行されてしまい,これまた不便である.そこで,なんとかならないかと探してみると,ちゃんとそういうモノがあったので,まとめておく.
Table of Contents
adaptive-wrap
- 参照1:adaptive-wrap ご本家
- 参照2:Correct indentation for wrapped lines
- 参照3:Emacsの折り返しの挙動
- 参照4:.emacs settings loading issue
長い行をワープロのようにword-wrapしてくれるパッケージである.Emacsのバッファ上では折り返されているように見えるが,実際は長い横1行のままである.
インストールと設定
例によって,use-packagを用いて以下のように,init.orgに書けばよい.
#+begin_src emacs-lisp
(use-package adaptive-wrap
:ensure t
:config
(setq-default adaptive-wrap-extra-indent 1)
(add-hook 'visual-line-mode-hook #'adaptive-wrap-prefix-mode)
(global-visual-line-mode +1)
(add-hook 'org-mode-hook 'visual-line-mode) ;; For org macros
)
#+end_src
なお,最後の行を入れておかないと,org-mode fileに
#+setupfile: /Sources/org-mode-folder/org-macros-master/org-macros.setup
を追加してマクロのパッケージを使用する場合(Emacsのorg-modeで論文を書く(その5:htmlへのexportの際のフォントの色の変更,ハイライトなど)(12月19日追記)を参照のこと)に,adaptive-wrapが効かなくなる.
実際の使用例
adaptive-wrapをインストールしていない場合が上図,インストールして設定すれば下図のように見える.あくまで,Emacsの画面上でword-wrapしているように見えるだけで,実際のファイルではなが~い横1行のままの状態が維持されている.
これも一度使い始めると,無くてはならないモノとなるパッケージである.