GUI版 Neovim - Oni

カテゴリー:  Tech タグ:  editor softoware vim

Oniとは

Oni とは、Neovimをエンジンとした GUIベースのエディタです。

開発サイトには以下のよう紹介されています。

Oni is a new kind of editor, focused on maximizing productivity - combining modal editing with features you expect in modern editors. Oni is built with neovim, and inspired by VSCode, Atom, LightTable, and Emacs.

Neovimの上に、VSCやATOMなど今風なエディタの風貌で飾ってみましたという ところでしょうか。

以下のような外観になります。

Oni

Oniの外観

フォントはRictyに変更しましたが、その他はデフォルトのままです。 ファイル一覧が表示されていますが、これは Oni の機能です。

以下は、同じファイルを開いているターミナル上のNeovimです。 ファイル一覧はNERDTree で表示しています。

nvim

Neovimの外観

Macの場合、Homebrewでインストール可能です。

$ brew update
$ brew cask install oni

Oni の独自機能

Oniはいくつか独自の拡張がなされています。

Embedded Browser はエディタのペインにブラウザを表示する機能です。 ATOMなどで一般的になった機能ですね。

Quick Info は、関数などにカーソルを当てると、その宣言をポップアップ で表示してくれる機能です。

Code Completion は、お馴染の機能です。コーディング中に、タイプ していくとその言語のステートメントや標準ライブラリからどんどん 補完していってくれる機能です。

Syntax / Complilation Error は、文法チェックにより 構文エラーを指摘してくれる機能です。

Fuzzy Finder は、VSCやATOMにある機能でファイル名 での曖昧検索をする機能で、ファイル名をタイプするごとにどんどん対象を 絞り込んでくれます。

Status Bar は、PowerLineなどの代替のようです。 ちょっと弱そうですが。

Interactive Tutorial は、インターラクティブに学習で出来る チュートリアルです。

確かに今風で、ATOMやVSCなどでよく見る機能です。

Oniはオススメか?

少なくとも私は利用するつもりはありません。

理由は、以下の2つです。

  1. ターミナルで完結できる作業をGUIとターミナルに分離する メリットがない

  2. 拡張機能は、ターミナル上で既に実現できている

まず、私の場合、仕事でもプライベートでも最後はターミナルを使うことが多い ので、編集作業だけGUIに乘っても全然嬉しくないのです。寧ろターミナルも 内包しているNeovimの場合折角のそのアドバンテージが台無しです。

次に拡張機能ですが、ターミナル上でNeovimとプラグインで同等以上の機能が 実現できています。例えば、Syntax / Compilation Errors はプラグイン ALE を使って必要な Static Testerを組合せたほうがはるかに対応範囲も広く プロジェクト標準などにも対応しやすいです。Fuzzy Finding などは FZFと プラグインを組合せたほうがはるかに柔軟で高機能です。プラグインであれば、 それぞれ好みのプラグインに取り替えたりバージョンアップのスピードも 早いですが、エディタ自体の拡張機能となるとOniの開発に全て依存してしまう デメリットもあります。

プラグインについて書いておきます。

既存のNeovimの設定ファイルはそのまま読み込んでくれるのでNeovimで 使用していたほとんどのプラグインが動作します。この「ほとんど」という ところが問題で、基本的には編集系のプラグイン以外は実行時にエラーになります。 「これは何系のプラグイン」とか普段意識してる訳ではないので、使おうと したらエラーということが頻繁に起きます。これが辛いです。

以上の通り、ドップリとVimにハマってしまった方は素直にターミナル上で Neovimを使用した方が幸せです。

では、どんな方におすすめでしょうか?

Vimなキーバインドに慣れてしまっているが、こんなカルトは抜け出したいと思っている方 はどうでしょうか?

個人的には、VSC、ATOMやSublime Textなどで Vimライクなキーバインドを実現するプラグインなどは沢山ありますから、そちらを オススメします。だって、いつか抜け出したいと思っているなら、 徐々にメジャーなエディタに慣れて、"Vimライク"はいつか取り外しましょう。

Vimを全く知らない初心者 はどうでしょう?

素直にVSC使いましょう。マグルはマグルの世界に居たほうが幸せです。 VSC使っても「世界はこんなじゃない!」と違和感を拭えない人は いつか魔法を学んでNeovimを使えばよいのです。

Oni の試みは面白いとは思いますが、方向性としてはニーズのない誤った方向の ような気がします。

コメント

Comments powered by Disqus