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 件のコメント:

コメントを投稿

Emacs の lsp の設定、なう(202310)

前回さらしてから、さらに1年。そう、3年めになる。 が、今回は一段と自信がない。 環境は、 Debian GNU/Linux 12 (bookworm) + emacs(29.1)。consult + company。 embark は未だに使ってない。 用途は、メモ と ...