2019年が始まったのでEmacsを使い始めた
なんか何度も Emacs に入門しては結局使わなくなるを繰り返していたのだけど、 Emacs JP が再始動された らしいし、自分も Elm をやってみようと思ってやっぱり Haskell のときと同じように Emacs で環境つくりたいよなと。そこでもうメインエディタを Emacs にしちゃえばいいか!w というノリで始めました。
~/.emacs.d
はここ。まだ 3 日くらいしか経っていないので 120 行くらいしかないけれど。
515hikaru/dotemacs: my configuration for emacs
いろいろと野望はあるのだけれど、あんまり深入りしすぎない程度にやっていきたい。
やったこと
- Elm の開発環境をセットアップ
- Rust の開発環境をセットアップ(後日大幅に変更予定1)
- Pythonの開発環境をセットアップ
- メモがすぐにとれるように open-junk-file を導入
- 利用するフォントを Ricty Diminished Discord に変更
コード補完(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 があれば実現できる、というのはなかなかすごい気がする4。python-language-server の実装は Python なのでわたしにも読めそうな気がするし。
これからいろんな言語の開発環境を Language Server でやっていってみたいなと思う次第。
今後の課題
- ein してみたいかも、NumPyデータ処理入門 が読みやすくなりそうだし。
- プロジェクトの管理、というより多数のファイルでひとつのプロダクト/ライブラリになっているような状況で開発を Emacs でやるにはどうするんだろう。正直 VSCode でもいいけど。
あとこれは一般的な話だが、自分がプラグインを作るというよりは既にあるプラグインを改善していく方に力を入れたい。全然 Emacs Lisp 書けないので微力だけれども5。最近オーバーエンジニアリングしすぎていて疲れているので、既存のものの組み合わせでいい感じにしていきたい。
-
ので Qiita に記事を書いた。でも Qiita じゃなくここに書けばよかった気もする。同じことを二箇所に書いているのは気持ち悪いのでしないけど。 ↩︎
-
emacs-lsp/lsp-mode: Emacs client/library for the Language Server Protocol ↩︎
-
ずっと追っている人からすればこの感想は今更なのかもしれないが。 ↩︎
-
それでも Vim script よりは書ける、と思う。 ↩︎