LoginSignup
3
2

More than 3 years have passed since last update.

Spacemaces Japanese Layer (Part 2)

Last updated at Posted at 2019-08-22

3年ほど前に私が作成した Spacemacs の Japanese Layer が去年あたりに Spacemacs の開発版にマージされていましたが, そのまま放置していました. その理由は:

  1. メインのエディタが Microsoft Visual Studio Code となってしまい, Spacemacs を弄る機会がめっきり減った,
  2. Japanese Layer で用いるパッケージ avy-migemo がMELPA 上で更新されなくなり, 一部の機能が動作しなくなった,

からです.

最近, 昔の投稿 にコメントがあり, 動作できるように README.org を書き換えました. また avy-migemo について動作する方法がみつかったので, ここで報告しておきます.

まずSpacemacs の開発版を使うには, Spacemacs のリポジトリが ~/.emacs.d にあるなら

$ cd ~/.emacs.d
$ git checkout develop
$ git pull origin develop 
$ git clone 

と実行すればよいです.

なお安定版を使っているのなら, 最新の Spacemaces Japanese Layer は リポジトリ にあります. ただ開発版との違いはほとんどなく Ubuntu でも migemo の辞書を設定できるようにして, README.org の記述を書き換えただけです.

最新の Spacemaces Japanese Layer を導入するために, 設定ファイルが ~/.spacemacs.d/init.el にあるとするなら, ディレクトリ ~/.spacemacs.d/layers/ を作成し, 以下を実行する:

mkdir ~/.spacemacs.d/layers/
cd ~/.spacemacs.d/layers/
git clone https://github.com/kenjimyzk/spacemacs-japanese japanese

さて Spacemacs Japanese Layer を利用するには ~/.spacemacs.d/init.eldotspacemacs-configuration-layers において

japanese

を追加します. ただこのままでは migemo が実行されません.

Spacemacs が helm を用いているのか ivy を用いているのかに応じて設定ファイルが異なります. 正確には最新版のREADME.org にある通りなのですが, ~/.spacemacs.d/init.el にある dotspacemacs/user-config を以下のように修正すればどちらでも対応可能です.

(with-eval-after-load "migemo"
  (helm-migemo-mode 1)
  (require 'avy-migemo-e.g.ivy)
  (require 'avy-migemo-e.g.swiper)
  (require 'avy-migemo-e.g.counsel))

ただ, このままではmigemo検索 (SPC s s) はできるが, migemoジャンプ (SPC j j) はできません. 冒頭で述べたように avy-migemo が一年以上前から更新されていないからです.

これを回避するには, プルリクエスト中の フォークバージョン を使えばよいです.
いま avy-migemo.el~/.emacs.d/elpa/avy-migemo-20180716.1455/ にあるとします (開発版や複数のバージョンを併用している場合, 別の場所にあるかもしれません).
このとき, どこかの作業フォルダ上で以下を実行します.

git clone https://github.com/tam17aki/avy-migemo
cp avy-migemo/*.* ~/.emacs.d/elpa/avy-migemo-20180716.1455/

そして ~/.emacs.d/elpa/avy-migemo-20180716.1455/ にある avy-migemo.elc を新たにバイトコンパイルして生成するか, ファイルそのもの削除します. これでmigemoジャンプ (SPC j j) が可能になります.

なお MELPA 上で avy-migemo.el が更新されれば, さきほどの変更も更新されることになります. ただ, その更新で avy-migemo が使えるようになるでしょう.

最初に書いたように, 最近は VSCode を使っていたが, Spacemacs Japanese Layer を作成した責任もあるので, 今後はこまめにメンテナンスしていきたいと考えています.

3
2
1

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
3
2