Ensime-vimを入れる
こんにちは、びしょ〜じょです。 最近は死んでるのでコードも全然書いてませんでした。
1. はじめに
VimでScalaを書いている、というと赤黒いアイコンを思い出すかもしれないが、そんな感じになっている。 動機としては、最近一切コードを書いてなかったのでなにか作ろうと思い、またScalaも以前から少し書いてみようと思っていたのでこの機会にと。 Vimでやろうとしたのは当然手元に(Neo)Vimがあるからだ。
2. プラギン
2-1. vim-scala
シンタックスハイライトが寂しいので入れる。
2-2. ensime-vim
Scalaも補完がされてほしい。 VimでJava/Scalaというと、EclimというEclipseの情報をVimから引っ張ってグニャグニャするやつがありますが、俺達VimmerとしてはエディタのためにIDEを使うのはなんとなくはばかられる。
(中略)
特にArchLinux(でyaourt)を使っており、Pythonなんて書かねーよハゲということでpipも基本的に触らない人用にインストールガイドを書こう。 だいたいは公式のインストールガイドに則ればいい。
2-2-1. Python modules
注意する点はpipに関する記述だが、Pythonは3で問題ない。 pipでなくpacman/yourtに任せたいので、公式リポジトリからpython-websocket-client、AURからpython-sexpdataを引っ張る。 後者は微妙にメンテされておらず、PKGSBUILDをいじる必要がある。
# http -> httpsにするだけだが
-source=("http://pypi.python.org/packages/source/s/sexpdata/sexpdata-${pkgver}.tar.gz")
+source=("https://pypi.python.org/packages/source/s/sexpdata/sexpdata-${pkgver}.tar.gz")
2-2-2. sbt plugin
あとはsbtのグローバルプラグインに以下を追加する。
addSbtPlugin("org.ensime" % "sbt-ensime" % "2.6.0")
sbtでensimeConfig
を実行すると、プロジェクトルートに.ensime
が生成される。
2-3. neoformat
フォーマッター。ScalaもscalafmtがあればOK。 ただ何もしないとフォーマット時にファイル先頭にゴミが入るので以下をvimrcに追加
let g:neoformat_scala_scalafmt = {
\ 'exe': 'scalafmt',
\ 'replace': 1,
\ }
3. おわりに
人生おわった