2019年4月25日木曜日

Emacsのrst-modeの設定見直し

markupでのメモ作業は、orgがメインだが、 たまにmarkdownと reStructuredText( rst )を直接使う。sphinxとPelicanを使ってるから。

emacsの設定方法は、 orgやmarkdownについては比較的容易に見付けることができるが、 rst の方はなんとも、 という状況みたい。コピペなんで。

これまでは、標準の rst-modeyasnippetflycheck (rstでは、sphinx-build) を 併せて使ってきている。

ちなみに、rst-mode の使っている機能は、

  • headerの設定
  • tocリスト (imenuで十分だったりする)

ぐらいで特に必須ではないように思う。 listさえ使ってない状況。 当然、効率は著しく悪い。 使い方は、 ネットで探すより rst.el に含まれる英語のドキュメントの方が 私には適切に思えたのだが。

一番不満なのが、outlineが使えないこと。 outlineは、一応、outline-minor-mode を使っているが、 headerを上手に認識してくれず、サポート外のように思える。

そこで今回 move-text を入れてみた。 line-up/down region-up/downが使えれば、 yank,paste とかとの併用で、それなりに改善されるかもと考えたから。

    (use-package rst :ensure nil :defer t
     :bind( :map rst-mode-map
            ("C-c r" . rst-preview-by-eww)
            ("C-M-<down>" . move-text-down)
            ("C-M-<up>" . move-text-up)
          )
     :mode
      ("\\.rst\\'"  . rst-mode)
      ("\\.rest\\'" . rst-mode)
     :config
      (add-hook 'rst-adjust-hook 'rst-toc-update)
      (setq indent-tabs-mode nil)
      (setq electric-indent-mode t)
      (setq electric-quote-mode nil)
      ;
      (defun rst-preview-by-eww ()
        (interactive)
        (message (buffer-file-name))
        (call-process "pandoc" nil nil nil
                      (buffer-file-name)
                      "-o"
                      "/tmp/rst.html")
        (let ((buf (current-buffer)))
          (eww-open-file "/tmp/rst.html")
          (switch-to-buffer buf)
          (pop-to-buffer "*eww*")))
     ;
    (use-package move-text :ensure t)
    )

結果として、随分ましになったように思う。 lineでもregionでも上下移動が可能になる。 で、慣れてくれば当然、 promote/demote が欲くなるが.....

rst.el 自体はメンテされているようで、 Debian(buster)のrst.elはemacs26.1までだが、 公式ページのヤツは26.2のようだ。 エキスパートの方達はどう使っているのか不思議。

なお、pandocを使ってewwでpreviewしている(どこかのコピペ)が、 これは、flycheckをオフにして、previewでチェックする、 という使い方になっている。まあ、短かい文章だし、 見た目の確認の必要性はそれほど感じなていない。

riv.vimの方が高機能みたいだが重い。

ちょっとだけ前進したかも。まだまだ先は長そう。 しかし、達人はどう使っているのだろう。

0 件のコメント:

コメントを投稿

麻のボディタオル

2018年の秋(まだ、自転車を封印してない)、 近江上布伝統産業会館 で、興味からボディタオルを購入した。 お、よかった。: 自然派パン工房 ふるさとの道 ほぼ毎日風呂で使ってきて、ついに寿命がきたようだ。 お店の方に、「糸が痩せて破れてくる」まで使える、と...