idoまたはhelmを使用してmu4eで電子メールアドレスを自動入力する


7

標準の* Completions *バッファーではなく、IdoまたはHelmを使用してmu4e作成ウィンドウで電子メールアドレスを自動補完する方法はありますか?

回答:


5

変数mu4e~contacts-for-completionは、mu4e知っている連絡先のリストを格納します。連絡先は"name <email>"文字列として保存されますが、これは挿入したいものと同じです。

次に、変数を一緒に使用しidoて連絡先を選択および挿入する関数の例を示します。

(defun select-and-insert-contact ()
  (interactive)
  (insert (ido-completing-read "Contact: " mu4e~contacts-for-completion)))

これは、完了時の初期入力としてポイントの前に部分的な接触がある場合はそれを部分的に使用する、より複雑なバージョンです。(ほとんどのコードは直接からのものですmu4e~compose-complete-contact)。

(defun select-and-insert-contact (&optional start)
  (interactive)
  (let ((mail-abbrev-mode-regexp mu4e~compose-address-fields-regexp)
        (eoh ;; end-of-headers
         (save-excursion
           (goto-char (point-min))
           (search-forward-regexp mail-header-separator nil t))))
    (when (and eoh (> eoh (point)) (mail-abbrev-in-expansion-header-p))
      (let* ((end (point))
             (start
              (or start
                  (save-excursion
                    (re-search-backward "\\(\\`\\|[\n:,]\\)[ \t]*")
                    (goto-char (match-end 0))
                    (point))))
             (contact
              (ido-completing-read "Contact: "
                                   mu4e~contacts-for-completion
                                   nil
                                   nil
                                   (buffer-substring-no-properties start end))))
        (unless (equal contact "")
          (kill-region start end)
          (insert contact))))))

0

免責事項:私はもうmu4eを使用しないので、これはコピー/貼り付けまたはテストされた答えではありません。

関数 mu4e~compose-complete-contactは、完了に使用できる連絡先のリストを提供するようです:https : //github.com/djcb/mu/blob/master/mu4e/mu4e-compose.el#L236

リストをにフィードするだけido-completing-readです。

(ido-completing-read "Complete contact: " (mu4e~compose-complete-contact)))))
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.