8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 1 year has passed since last update.

VimAdvent Calendar 2022

Day 17

初めてのLua製Neovimプラグイン開発〜uhooi.nvim〜

Last updated at Posted at 2022-12-17

はじめに

本記事は Vim Advent Calendar 2022 の17日目の記事です。
昨日は @NI57721 さんで Vimで古代ギリシア語【自作プラグインのすすめ】 でした。

初めてLua製のNeovimプラグインを開発したので紹介します。

環境

  • OS:macOS Ventura 13.0.1
  • Neovim:v0.8.1

プラグインを開発したきっかけ

社内のとあるVimmerがとある猫を回転させていた のを見て、「これパクればウホーイも回転させられるんじゃね?」と思ったからです。(雑)

当時はNeovimを使い始めたばかりで、Luaも全然わからなかった(今もあまりわかりませんが)ので、勉強がてら作ってみることにしました。

開発手順

参考にするリポジトリをフォークする

まず参考にするリポジトリをフォークしました。
基本的には画像を差し替えるだけなので、そのほうが手っ取り早かったからです。

XPMファイルを作成する

回転させる画像は、XPMというフォーマットが採用されていました。

作成方法がわからなかったのですが、調べたらImageMagickでGIFをXPMに変換できることがわかりました。

無事にXPMファイルを作成できたので、手順を忘れないようにImageMagickの記事に追記しました。

いいね数は少ないですが、私はImageMagickを使うときによく見返します。

画像などを差し替える

文言や画像をとある猫からウホーイに差し替えます。

エラーを修正する

ビルドエラーが発生したので修正しました。

本家でも発生するエラーだったので、PRを作成し、マージもされました。

色を追加する

XPMファイルは色をカラーコードまたはカラーネームで指定するのですが、 gray1gray2 など、一部のカラーネームはそのままだと色が付きませんでした。
そのためカラーネームを手動でカラーコードに変換する処理を仕込みました。

完成!

ウホーイがNeovim上で踊りました ₍₍⁽⁽└|▼▼|┐₎₎⁾⁾

おわりに

画像を差し替えてちょっとソースコードをいじっただけなので、そこまでLuaやNeovimプラグイン開発の勉強にはなりませんでしたが、楽しかったのでよかったです。

作ったのが半年くらい前なので、また何かしらLua製のNeovimプラグインを作りたいです。

以上 Vim Advent Calendar 2022 の17日目の記事でした。
明日は @uga-rosa さんで「えっ!NimでNeovim用プラグインを!?」です。

8
1
0

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
8
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?