Neovimとは何ですか?Vimとはどう違うのですか?そして、なぜ私は気にする必要がありますか?


118

私はNeovimについて聞いてます。Vimとはどう違うのですか?ホームページのすべてのポイントは、「フードの下」でのアーキテクチャの変更にすぎません。ユーザーとして、私にとっての違いは何ですか?


1
非同期機能は命の恩人です。これにより、vimが非常に流動的になり、多くのプラグインがvimを利用できます。
tommyip

先生が改善されました。違って見えます。
フェルナンドロドリゲス

「見栄えの良いウェブサイト、Neovimが正しかったことの1つです。」-ブラム・ムールナー インタビューから
マイケル・

基本的な選択のいくつかは、主な目標にとって奇妙で無関係なように思えます...その多くは、古いコードが好きではなく、「正しい」ことをしたい人のように感じます。古いコードは見苦しいことに同意できます。しかし、新しい実装を作成するには非常に多くの努力が必要です。エルビスに起こったこととよく似ています:書き直しにより改善されましたが、非常に時間がかかり、Vimがさらに機能を追加したため、最終的にはエルビスのユーザーはそれほど多くありませんでした。そして、書き直されたエルビスは素晴らしいコードを持っているかもしれませんが、ユーザーはそれに気づいていません。binpress.com/vim-creator-bram-moolenaar-interview
NeilG

NeoVimが思いついた素晴らしいものがVimに追加できることを願っています。つまり、プラグインのサポート、GUI、埋め込みの改善を望んでいませんか?大きな問題は、それをどのように行うか、そして誰がそれを適切に実装するかです。binpress.com/vim-creator-bram-moolenaar-interview
NeilG

回答:


81

neovimホームページが説明しているように、neovimの目的は、より優れた、よりオープンなコミュニティ主導のオープンソースプロジェクトへの道を開くことです。

アーキテクチャの変更により、vimの安定性が向上し、パフォーマンスが向上するだけでなく、コードのメンテナンス性が大幅に向上し、貢献したい人のエントリバリアがわずかに低下します。

重要な変更点の1つには、vimで非同期にジョブ/タスクを実行するためのアクセスのコア機能も含まれています。これは、vimのパフォーマンスをさらに向上させるのに役立ちます。特に、バックグラウンドジョブが何かを実行している間、vimはブロックする必要がないためです。

vimユーザーとして、neovimはソフトウェアとして成長する必要があるという事実(問題の修正、機能の追加)がストックvimと比較して大幅に変わることはなく、長期的にははるかに優れたパフォーマンスを発揮します。


24
+1。また、ユーザーに表示される変更が非常に少ないという事実は良いことです。
carlosdc

27
これは、誰かが気にするべき理由の実際の要約ではなく、プレスリリースの再ハッシュのようなものです。たとえば、私は20年にわたってvimを使用していますが、コアプログラムが最後に何らかの不安定性を示したときのことを思い出せません。
カレブ

2
非同期タスクは、バックグラウンドにある可能性のある作業を行うために、vimのインターフェイスをブロックする必要がないことを意味する必要があります。
alxndr

3
いずれかの証拠は2年間というneovimが、それはより速く成長していますことをアクティブにして、より良いパフォーマンスを持っていることは?
スパルホーク

8
Vimがバックグラウンドジョブを非同期に実行することをサポートしていないことは、もはや事実ではありません。
リッチ

35

私は具体的に取り組んでいます:

なぜ気にする必要があるのですか?ユーザーとして、私にとっての違いは何ですか?

Vimユーザーとして私が最も興奮しているのは、Neovimのフードの下での変更によって可能になる新しい種類のプラグイン、統合、およびインターフェースです。

時間が経つにつれて、Neovimでは機能するがVimでは機能しない、本当に印象的なプラグインとプログラムが見られるようになります。Neovim固有のプラグインのリストがあります:neovimのgithubにあります。

私はそれがどれだけ最新のものかわかりませんが、コーディングをより効率的で楽しいものにするツールが増えるにつれて、成長するのを楽しみにしています。


15

Neovimがテーブルにもたらすお気に入りの追加機能は、ターミナルモードです。これで、Neovimウィンドウを分割し、一方でターミナルエミュレーターを実行し、もう一方でファイルを編集できます。あなたが本当にそれをしたかった場合に備えて、Neovimをそれ自体の中で実行することさえできると思います。

非同期プラグインを持つことも、すぐに非常に役立ちます。これは、わずか40年の待機でようやくコードの完成度が向上したことを意味します。

Neovimは、Vimよりもマウスのサポートも優れています。


2
彼らはそれをMetavimと呼ぶべきです:P
Tumbler41

Neovimには、Vimよりも優れたマウス固有の変更はありません。
ジェームスサン

今頭に浮かぶのは、ターミナルsshセッションに参加し、Neovimを開いて、スポットをクリックして編集できることです。Vimでそれができるとは思いませんが、.vimrcがまだ十分に大きくない可能性があります!しかし、これはマウスのサポートよりもsshのサポートと呼ばれる方が良いと思います。
ジョナサンアンダーセン

SSH接続を介してVimでマウスを使用することは間違いなく可能ですが(試してみたところですが)、Vimでマウスを動作させることができず、NeoVimでデフォルトで機能する場合は、 NeoVimのサポートの方が優れています;)。
リッチ

1
私は単一でWindows上で実行されているパテからSSHを介して定期的にVimの中でマウスを使用してきたset mouse=aかなり長い間のvimrcでライン
Thunderbeef

5

他の回答ではまだ対処されておらず、ユーザーにとって興味深いかもしれない2つのポイント、特に設定ファイルを持たない(または小さい)新しいユーザーです。

  1. NeoVim 、デフォルトではVi互換性を試みませ。彼らは設定の多くのデフォルト値を変更し、そのような変更について活発に議論しています:#2676#6289
  2. 別のプロセスに埋め込むことができ(netbeansの統合を覚えていますか?)、さまざまなGUIがあります$EDITOR
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.