2019年8月3日土曜日

Emacs と Vim で ちょっとしたメモを共有したい

Emacs と Vim で ちょいとしたメモを共有しようとやってみた。 けっしてスマフォとの共有ではないし、 書捨てで良いようなメモを、という位置付け。

emacs では org-mode をメインにしているが、 org-mode は emacs環境限定?なので、 常に emacs を起動している訳ではない自分は、 ちょいっとメモ、ができない状況が時々ある。

そんな時、簡単にメモる手段が欲しくて、 terminalで mattn/memo(Github) + fzf + vim を使っていた。 jrnl とか、 khal をメモに、 とか試したが、結局こいつに落ち着いていた。

で、これらのメモを emacs で扱えないかと考えた次第。

めもしたものは、markdown ベースなので、 手間を惜しまなければ問題はないが、 そこは、なんぞ方法があるに違いないと探してみた。 今回使ったみたのは、Deft for Emacs

mattn/memo(Github) と共有させるため、 既存ファイルの format を修正する手間が必要だったが、 なんとなく、org配下で扱えるようになったかも、と思う。

  • Deft for Emacs の設定

    保存は、org-directory下にした。 deftでは、以下の操作ができる。

    • rename (C-c C-r)
    • delete (C-c C-d)
    • New (C-c C-n)
    • archive (C-c C-a)
    • quit (C-c C-q)

    archiveはサブディレクトリがデフォルト。 org-captureの設定もしたが、必要なかったように思う。

    絞り込み操作が、ivyになってないのは少し残念。

  • ;; deft
    (use-package deft :ensure t
      :bind ("<f7>" . deft)
      :commands (deft)
      :config
       (setq deft-directory "~/Documents/ownCloud/_posts"
       deft-extensions '("md" "org")
       deft-auto-save-interval 3.0
       deft-use-filename-as-title t)
     )
    
    ;;
    (defun my/generate-md-memo-name ()
      (setq my-org-note--name (read-string "Name: "))
      (setq my-org-note--date (format-time-string "%Y-%m-%d"))
      (setq my-org-note--dtime (format-time-string "%Y-%m-%d %H:%M"))
      (expand-file-name (format "%s-%s.md" my-org-note--date my-org-note--name) "~/Documents/ownCloud/_posts"))
    ;;
    
    ;; org-capture
     ; .......
      ("n" "note(mkd)" plain
     (file my/generate-md-memo-name)
     "%(format \"---\ntitle: %s\ndate: %s\n---\n\n# \" my-org-note--name my-org-note--dtime)%?")
     ; .......
    
  • memo の設定

    • `~/.config/memo/config.toml`

      memodir = "~/Documents/ownCloud/_posts"
      memotemplate = "~/.config/memo/template.txt"
      editor = "nvim"
      column = 26
      selectcmd = "fzf"
      grepcmd = "ag ${PATTERN} ${DIR}"
      assetsdir = "."
      pluginsdir = "~/.config/memo/plugins"
      templatedirfile = ""
      templatebodyfile = ""
      
    • `~/.config/memo/template.txt`

      ---
      title: {{.Title}}
      date: {{.Date}}
      ---
      
      # {{.Title}}
      

左が、emacsのdeft、で右が memo + fzfl。

メモファイルを org 配下に置くので、 deadgrep,counsel-rgとかの検索対象になるから、大きなメリットにならないかもしれないが、 スコープを限定したハンドリングが可能になったのはひとつ前進だと思っている。
暫く放置して、様子見。

0 件のコメント:

コメントを投稿

麻のボディタオル

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