2019年が始まったのでEmacsを使い始めた

なんか何度も Emacs に入門しては結局使わなくなるを繰り返していたのだけど、 Emacs JP が再始動された らしいし、自分も Elm をやってみようと思ってやっぱり Haskell のときと同じように Emacs で環境つくりたいよなと。そこでもうメインエディタを Emacs にしちゃえばいいか!w というノリで始めました。

~/.emacs.d はここ。まだ 3 日くらいしか経っていないので 120 行くらいしかないけれど。

515hikaru/dotemacs: my configuration for emacs

いろいろと野望はあるのだけれど、あんまり深入りしすぎない程度にやっていきたい。

やったこと

コード補完(company)も静的解析(flycheck)も動かしているけどまだまだという印象。やれることはまだまだたくさんあるし、やらないといけないことはまだまだたくさんある。

lsp-mode#

巷では Language Server Protocol が賑わせているのでいろいろ自分の開発環境にも導入をしてみたいのだけれど、少なくとも自分が ‘lsp-mode python emacs’ とかでググって日本語の記事は出てこなかった2。ちなみに ‘lsp python’ とかでググったら Vim の設定をする記事は出てきた。読んでないけど。

emacs-lsp/lsp-mode は Python のみならず Rust, Haskell, Scala, Go, Go, C++ などなどいろいろな言語に対応している(詳細はリンク先の README を)ようなのと、lsp-mode とは別の実装もあるらしい3

なんにせよ VSCode のような環境が Emacs のモードと Language Server があれば実現できる、というのはなかなかすごい気がする4python-language-server の実装は Python なのでわたしにも読めそうな気がするし。

これからいろんな言語の開発環境を Language Server でやっていってみたいなと思う次第。

今後の課題

  • ein してみたいかも、NumPyデータ処理入門 が読みやすくなりそうだし。
  • プロジェクトの管理、というより多数のファイルでひとつのプロダクト/ライブラリになっているような状況で開発を Emacs でやるにはどうするんだろう。正直 VSCode でもいいけど。

あとこれは一般的な話だが、自分がプラグインを作るというよりは既にあるプラグインを改善していく方に力を入れたい。全然 Emacs Lisp 書けないので微力だけれども5。最近オーバーエンジニアリングしすぎていて疲れているので、既存のものの組み合わせでいい感じにしていきたい。


  1. https://github.com/515hikaru/dotemacs/issues/2 ↩︎

  2. ので Qiita に記事を書いた。でも Qiita じゃなくここに書けばよかった気もする。同じことを二箇所に書いているのは気持ち悪いのでしないけど。 ↩︎

  3. emacs-lsp/lsp-mode: Emacs client/library for the Language Server Protocol ↩︎

  4. ずっと追っている人からすればこの感想は今更なのかもしれないが。 ↩︎

  5. それでも Vim script よりは書ける、と思う。 ↩︎