|
[[316262]] 2020 年にオープンソースで生産性を高める 20 の方法の 18 番目の記事では、Emacs テキスト エディターを使用して電子メールを管理し、スケジュールを表示する方法について説明します。 昨年、私は 2019 年に向けた 19 日間の新しい生産性向上ツール シリーズを紹介しました。今年は、これまで使用していたツールや使用していなかったツールを活用できる新しい環境を作り、新年に生産性を高めるという異なるアプローチを採用します。 Emacsで(ほぼ)すべてを行う パート1 2日前、私はVimとEmacsをよく使っていると書きました。このシリーズの16日目と17日目では、Vimでほぼすべての操作を行う方法を説明しました。さあ、いよいよEmacsの番です! Emacsのメールとカレンダー 本題に入る前に、2点明確にしておきたいことがあります。まず、ここでは以前書いたSpacemacsではなく、デフォルトのEmacs設定を使用しています。なぜでしょうか?デフォルトのキーボードショートカットを使うことで、「ネイティブEmacs」をSpacemacs用に変換することなくドキュメントを参照できるからです。次に、このシリーズの記事ではOrgモードの設定は一切していません。Orgモード自体はほぼ完結したシリーズであり、非常に強力ですが、設定はかなり複雑になる場合があります。 Emacsの設定Emacsの設定はVimの設定よりも少し複雑ですが、長い目で見れば価値があると思います。まず、設定ファイルを作成し、Emacsで開きます。 -
mkdir ~/. emacs . d -
emacs ~ /.emacs.d/ init . el
次に、組み込みパッケージマネージャーにいくつかのパッケージソースを追加しますinit.elに以下のコードを追加してください。 -
( package - initialize ) -
( add - to - list 'package-archives ' ( "melpa" . "<http://melpa.org/packages/>" )) -
( add - to - list 'package-archives ' ( "org" . "<http://orgmode.org/elpa/>" ) t ) -
( add - to - list 'package-archives ' ( "gnu" . "<https://elpa.gnu.org/packages/>" )) -
( package - refresh - contents )
Ctrl+x Ctrl+sでファイルを保存し、 Ctrl+x Ctrl+cで終了してEmacsを再起動します。Emacsは起動時にすべてのプラグインパッケージのリストをダウンロードします。その後、組み込みのパッケージマネージャーを使用してプラグインをインストールできます。Meta Meta+xと入力するとコマンドプロンプトが開きます( MetaキーはほとんどのキーボードではAltキー、macOSではOptionです)。コマンドプロンプトでpackage-list-packagesと入力すると、インストール可能なパッケージのリストが表示されます。リストを順に選択し、 iキーを使用して以下のパッケージを選択します。 -
bbdb -
bbdb - vcard -
calfw -
calfw - ical -
notmuch
パッケージを選択したら、「 xを押してインストールしてください。ネットワーク接続によっては時間がかかる場合があります。コンパイルエラーが表示される場合もありますが、無視してください。インストールが完了したら、 Ctrl+x Ctrl+fキーを押して~/.emacs.d/init.elを開き、次の行を(package-refresh-packages)の後、 (custom-set-variables ) の前に追加してください。 (custom-set-variables行はEmacsによって内部的に管理されているため、それ以降の行は変更しないでください。 ;;で始まる行はコメントです。) -
;; Set up bbdb -
( require 'bbdb) -
(bbdb-initialize ' message ) -
( bbdb - insinuate - message ) -
( add - hook 'message-setup-hook ' bbdb - insinuate - mail ) -
;; set up calendar -
( require 'calfw) -
(require ' calfw - ical ) -
;; Set this to the URL of your calendar . Google users will use -
;; the Secret Address in iCalendar Format from the calendar settings -
( cfw : open - ical - calendar "<https://path/to/my/ics/file.ics>" ) -
;; Set up notmuch -
( require 'notmuch) -
;; set up mail sending using sendmail -
(setq send-mail-function (quote sendmail-send-it)) -
(setq user-mail-address "[[email protected]][9]" user-full-name "My Name")
これで、独自の設定でEmacsを起動する準備が整いました。init.elファイルinit.el保存( Ctrl+x Ctrl+s )し、Emacsを終了( Ctrl+x Ctrl+c )して再起動してください。再起動には少し時間がかかります。 Notmuchを使ってEmacsでメールを読み書きするEmacsのスタート画面が表示されたら、Notmuchを使ってメールを読むことができます。Meta Meta+x notmuchと入力すると、Notmuch Emacsのインターフェースが表示されます。 NotMuchを使ってメールを読む 太字で表示されている項目はすべてメールビューへのリンクです。マウスをクリックするか、 tabキーで項目間を移動してEnterキーを押すことでアクセスできます。検索バーを使用して、Notmuchのコマンドラインと同じ構文でNotmuchのデータベースを検索できます。必要に応じて、 [save]ボタンを使用して検索内容を保存し、後で使用することもできます。保存した検索内容は画面上部のリストに追加されます。リンクをクリックすると、関連するメールのリストが表示されます。矢印キーを使用してリスト内を移動し、読みたいメッセージでEnterキーを押します。メッセージに返信するにはrキー、メッセージを転送するにはf 、現在の画面を終了するにはqを押します。 Meta+x compose-mailと入力すると、新しいメッセージを作成できます。コンパイル、返信、転送を行うと、メール作成インターフェースが開きます。メッセージの作成が完了したら、 Ctrl+c Ctrl+cを押して送信します。送信しない場合は、 Ctrl+c Ctrl+kを押してメッセージ作成バッファ(ウィンドウ)を閉じます。 BBDBを使ってEmacsでメールアドレスを自動補完するメッセージにBBDBアドレスを使用する では、連絡先はどうでしょうか?ここでBBDBの出番です。まずは、abookからすべてのアドレスをインポートする必要があります。そのためには、コマンドラインを開き、次のエクスポートコマンドを実行します。 -
abook -- convert -- outformat vcard -- outfile ~ /all-my-addresses.vcf --infile ~/ . abook / addresses
Emacsを起動したら、 Meta+x bbdb-vcard-import-file実行してください。インポートするファイル名( ~/all-my-address.vcfを入力するように求められます。インポートが完了すると、メッセージの作成時に名前を入力し、 Tab使って検索したり、「宛先」欄の自動補完を行ったりできるようになります。BBDBは連絡先バッファを開き、正しい名前であることを確認します。 vdirsyncer は既に各アドレスに対応する .vcf ファイルを生成しているので、なぜ再度生成する必要があるのでしょうか?私のようにアドレスがたくさんある場合、一つ一つ処理するのは面倒です。この方法を使えば、すべてを abook にまとめ、1つの大きなファイルを作成できます。 calfw を使用して Emacs でカレンダーを閲覧する子牛カレンダー 最後に、Emacsを使ってカレンダーを表示できます。上記の設定では、calfwパッケージをインストールし、カレンダーを読み込む場所を指定するための行をいくつか追加しました。calfwとは… Emacs カレンダーフレームこれは「cfw-calendar」の略で、複数のカレンダー形式をサポートしています。私はGoogleカレンダーを使っており、設定にリンクを追加しています。カレンダーは起動時に自動的に読み込まれ、 Ctrl+x+bコマンドでcfw-calendarバッファに切り替えて表示できます。 Calfwは、日次、週次、隔週、月次ビューを提供しています。カレンダー上部でビューを選択し、矢印キーで移動できます。ただし、Calfwはカレンダーのみを表示するため、イベントの追加、削除、変更にはKhaliなどのツールやWebインターフェースを使用する必要があります。 Emacs でのメール、カレンダー、メールアドレスの表示方法です。明日はもっと詳しく紹介します。 |