Neovim は、拡張性と使いやすさに重点を置いた老舗テキストエディタ vim のフォークです。書き直しではなく、Vim の継続と拡張です。多くのクローンや派生物が存在し、一部は非常に巧妙です — しかし、どれも Vim ではありません。Neovim は Vim の良い部分とそれ以上のものを望むユーザー向けに構築されています。差分のリストは、:help vim-differences で参照してください。
Neovim へのコントリビュートに関心がある場合は、GitHub ページ にアクセスして詳細を確認してください。優れたテストスイートと自動化された CI が備わっているので、飛び込んで試すことができます。コメントを取得したり、単にインフラストラクチャを利用したりするために、PR をオープンするのを躊躇しないでください!
チームに連絡するには、gitter チャンネル (また、IRC からアクセス可能) に参加するか、多くの開発者が閲覧している Neovim サブレディット にアクセスしてください。会話に参加することも、コントリビューションです!
新しいコントリビュータの紹介: @janlazo は、2017 年 9 月以降、Windows サポートと Neovim パッチの移植の両方で暴れています。ありがとうございます!
古いコントリビュータの紹介: @jamessan は、2014 年 3 月から参加しており、一般的に賢く有益である一方、Neovim の Debian パッケージ で途方もない作業を行ってきました。ありがとうございます!
最後のニュースレター では、Neovim の 0.2.2 リリースまでのすべてを取り上げました。2 年が経ち、プロジェクトはこれまで以上にユーザーと開発者のエクスペリエンスの両方を改善することに熱心に取り組んできました。その過程で、2018 年 6 月にバージョン 0.3 をリリースしました。このニュースレターは遅れて配信されましたが (バージョン 0.4 がリリースされた後)、何か見逃したかもしれない場合に備えて 0.3 を紹介する価値があると判断しました (0.4 は今後のニュースレターで取り上げます)
いつものように、重大な変更については Following HEAD を確認してください。
Neovim をさまざまなターミナルエミュレータでより正常に動作させるために多くの作業が行われてきましたが、現在も進行中です (@justinmk、#7664、#7653、#7720、#7640、#7624、@florolf、#7676 および @erw7 #8408)
system()
と:!
から出力されるマルチバイト文字がサポートされ、制御文字(CR、TAB)も適切に処理されるようになりました(@bfredl、#7844)
display
用の新しいフラグmsgsep
(@bfredl、#8088)--listen
コマンドラインオプションが$NVIM_LISTEN_ADDRESS
に置き換わりました(@justinmk、#8247)
Neovimはstdinをコマンドではなくテキストとして扱います。stdinをノーマルモードコマンドとして実行したい場合は、nvim -s -
を使用します(@justinmk、#7679、@ZyX-I、#6299、および@b-r-o-c-k、#8276)
Neovimは(u)rxvtでマウスイベントを認識します(@symphorien、#8309)
マクロは実行時に:lmap
を適用します(@hardenedapple、#5658)
リストの実装がAPIの背後に隠され、さらなる改善が促進されています(@ZyX-l、#7708)。特にvimからパッチを移植する開発者は、Wikiページを参照してください。
nvim_list_uis
@geekodour、#8004)nvim_get_commands
(@nimitbhardwaj、@justinmk、#8375)stdpath
(@docwhat、#6272)nvim_set_client_info
、nvim_get_chan_info
、nvim_list_chans
(@bfredl、#6743)nvim_buf_attach
/-detach
バッファ変更通知を実装を使用すると、ソースやメソッドに関係なく、バッファが更新されたときに送信されるイベントをサブスクライブできます (@phodge、@KillTheMule、#7917)Neovim が Google Summer of Code (GSOC) に採択されました。興味深い開発に取り組む 2 人の学生がいました。
素晴らしい貢献をありがとう、そしてメンターの @bfredl と @justinmk にもありがとう !
Wiki ページの 関連プロジェクト は、何らかの形で Neovim の拡張機能を利用するプロジェクトの増え続けるリストです。以下は前回のニュースレター以降の追加の概要です
次のプラグインは私たちの wiki に追加されました。
3 つの C++ クライアントでは十分ではないと思った場合、4 番目の参加者が参戦したことを喜ばれるでしょう。
API クライアントがリストされていない言語を好む場合は、ドキュメントから始めてみて、gitter チャンネルで要件について話し合ってみることをお勧めします。
前回のニュースレター以降、3つの新しい GUI が追加されました。
Neovim の機能について重点的に解説するブログ投稿をいくつか紹介します。
Neovim からプラグインをテストする
は、プラグインのテストに Neovim のテストインフラストラクチャを使用する方法を説明しています。RPC ベンチマーク
には、プラグインからフォールドを作成するために RPC API を使用するさまざまなアプローチのサンプルとそのベンチマークが記載されています。Haskell 開発用の Neovim
では、Neovim を利用して Haskell の開発ニーズを満たす方法について解説しています。しばらくの間、@mhinz は neovim-remote を管理しています。ユニックスでのみ利用可能ですが(ただし Windows のサポートは近い将来に期待できます)、頻繁に寄せられる次のようなユースケースの解決策を提供します。
興味を持っていただけるよう、簡単な GIF をご紹介します。
Wiki にない情報をお持ちですか?ページを 編集 して、世界中に情報を提供してください!
前回のニュースレター以降に変更された行数
git log --since="2017-12-16" --numstat --pretty=tformat: --numstat|gawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }'
added lines: 109127 removed lines: 40267 total lines: 68860
マージされたコミット
git log --since="2017-12-16"|wc -l
24167
さまざまなコミットの作成者
git shortlog -e -s -n --since="2017-12-16"|wc -l
129
ドキュメントの変更
git log --since="2017-12-16" --numstat --pretty=tformat: --numstat runtime/doc|gawk '{ add += $1; subs += $2; loc += $1 - $2 } END { printf "added lines: %s removed lines: %s total lines: %s\n", add, subs, loc }'
added lines: 4369 removed lines: 3645 total lines: 724
コントリビューター、スポンサー、バグ報告者、サポーターに感謝します。素晴らしいプロジェクトを提供してくださった@justinmkと、基礎となる作業をしてくださった@brammoolに感謝します。
ニュースアーカイブでさらに詳しい情報をご覧ください。また、RSS フィードも提供しています。
Neovim は Vim ベースのテキストエディターで、拡張性と使いやすさを重視して設計されています。これにより、新しいアプリケーションやコントリビューションが促進されます。
#neovim:matrix.org を訪れるか、irc.libera.chat で #neovim に参加して、チームと一緒にチャットしましょう。