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

vimで英語を書くプラグインを作った

Last updated at Posted at 2023-04-22

追記
2024/6/2
ddcのアップデートで動かなくなっていたのですが、こっちもアップデートしたので今は動きます。

書いたもの

nin-english.vim

出来ることは以下の通り

  • 英単語の非同期補完
  • 英和辞典を引く
  • なんちゃってシンタックスハイライト
  • ユーザー辞書
  • vimでもneovimでも動く

sample.gif

個人的にはある程度満足行くものが出来ました。
ちなみに、nin-english-vimという別のもありますが、こっちはレガシーなので無視してくれると助かります。

何故?自動翻訳じゃないん?

自動翻訳は、まぁ、凄く良いと思います(´・ω・`)
僕も使います。例えば、pythonとかで下記のサイトのクライアントを実装して、visualモードで選択した範囲を!コマンドで投げて英訳・和訳してもらったりはしています。

このサイト、滅茶苦茶に使いやすいんですよね。
他にはこういうのもあるようです。

だけど、原文読み書きしたい時もあるじゃん?僕にはある。
そこで、作りました。僕のためだけにね。

内容

とりあえず、辞書がないとどうしようもないです。下記を使っています。パブリックドメインです。圧倒的感謝。(後でライセンスが変わったりしちゃいけないので内蔵はしていない。ダウンロードコマンドはある。)

これを非同期補完プラグインとして下記のプラグインに食べさせて動かします。暗黒美無王のプラグインなので、設定は必須ですね。

辞書を引く

さて、ここまでで適当に非同期補完出来るのですが、さらに辞書を引きたかったのです。辞書を引く時にめんどいのが、英語には接頭語と接尾語がある事です。
〇〇ingとか、そういうのありますよね。これを、まぁ、当てずっぽうで付けたり外したりゴニョゴニョして辞書を引いてくれるようにしました。ポップアップで表示してくれます。
この辺の処理はdenoに任せています。正直、速く処理できれば何を使っても問題ないと思いますが…ddc自体がdeno依存なので、ddcを選んだ時点であまり選択の余地がないです。

なんちゃってシンタックスハイライト

英語を含めて自然言語にシンタックスハイライトつける発想が何故か皆さんには無いようです。だけど、僕はマジでクソザコなので最大限の支援が欲しかったんです。

だけど、MeCaBを使うのは一寸大げさかなと思いました。複雑にすると遅くなるしね。何よりめんどい。そこで、何をやったかというと…ハードコーディングです。関係代名詞とか接続詞を思いつくままに色分けしただけ…。
まぁ、シンタックスハイライトなんて使わないのが王道なのでしょうが、僕は満足しています。

ユーザー辞書

ユーザー辞書だって欲しいです。理由は専門用語を僕は使いがちだからです。ninenglish.vimにはユーザー辞書を作るコマンドがありますのでどうとでもなるのです。

感想

自分で満足行く英語プラグインを作れたけれど、需要ないから僕専用。

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