特定のディレクトリの組織ファイルを自動的にもつれさせる


9

Emacsの設定を書き換えることをとても楽しんだので、ドットファイルをorg-babelファイルに変換していinit.orgます。保存するたびに自動的にもつれる機能があります。しかし、私は.orgファイルを~/.dotfiles自動的に同じようにするなど、ファイルを作成することに成功していません。私は現在この機能を持っています:

(defun my/tangle-dotfiles ()
  "If the current file is in '~/.dotfiles', the code blocks are tangled"
  (when (equal (buffer-file-name)
               (expand-file-name "~/.dotfiles/tmux.org"))
    (org-babel-tangle)
    (message "Dotfile tangled")))

(add-hook 'after-save-hook #'my/tangle-dotfiles)

ただし、これは私が指定した特定のファイルに対してのみ機能し、どのorgファイルに対しても機能しません。を使用*.orgしても機能しません。また、バッファとディレクトリの両方からディレクトリ名を抽出して、そのようにする方法もわかりませんでした。

Freenodeの#emacsについても質問しましたが、誰もそこに答えてくれませんでした。どこから始めればよいかについてのヘルプやアドバイスをいただければ幸いです。

回答:


9

私はそれを行う方法を理解しました:

(defun my/tangle-dotfiles ()
  "If the current file is in '~/.dotfiles', the code blocks are tangled"
  (when (equal (file-name-directory (directory-file-name buffer-file-name))
               (concat (getenv "HOME") "/.dotfiles/"))
    (org-babel-tangle)
    (message "%s tangled" buffer-file-name)))

(add-hook 'after-save-hook #'my/tangle-dotfiles)
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.