ソフトウェア開発者のための OSS、まとめてみました!

ソフトウェア開発を行なっている自分が、個人的に面白いと思ったプログラムの最新技術や、オープンソースソフトウェア(OSS)をまとめています!

MENU

neovim を VSCode チックに使いたいなら!「nvim-ide」

概要

neovim というテキストエディタをご存知でしょうか?

neovim とは、拡張性と使いやすさのために刷新した Vim 派生テキストエディタで、Vim を利用している方にとっては使いやすいテキストエディタとなっています。

参考:neovim とは何か? vim.blue

なお、こちらの neovim は以下のサイトから無料でインストールして使用する事ができます。

neovim.io

こちらの neovim ですが、VimIDE 化して利用する事ができるアプリケーションなのですが、いろいろカスタマイズしないと普通の Vim と同じような使い方になってしまいます。

Vim 上級者の方や neovim を普段から使用されている方にとっては特に問題ないかもしれませんが、neovim をこれから使ってみたいという方などにとってはとっかかりがなく使いずらいという印象を与えてしまうかもしれません。

そのため今回は、neovim を最近の IDE チックなデザインに変更する事ができてしまうプラグインを見つけましたので、ご紹介します。

今回ご紹介する OSS は、VSCode にインスパイアされ、neovim の完全な IDE レイヤーであるプラグインnvim-ide」になります。

それでは早速中身についてもう少し見ていきましょう!

目次

特徴

nvim-ide」は VSCode のように左側パネルに IDE ライクなファイルマネージャパネルを表示し、画面下にはターミナルウィンドウを表示させる事ができるため、まるで neovim のアプリを VSCode のような画面で処理を行う事ができます。

また「nvim-ide」には以下のような特徴が明記されていますので、こちらでも取り上げようと思います。

  • Bookmarks - スティッキーをサポートするブックマークのワークスペースごとのコレクションする
  • ブランチ - ワークスペースの git ブランチをチェックアウトして管理する
  • 変更 - 現在の git ステータスを表示し、差分をステージング/復元/コミット/修正する
  • コミット - HEAD からのコミットのリストを表示し、読み取り専用の差分を表示するか、コミットをチェックアウトして変更可能な差分を表示する
  • エクスプローラー - ファイル選択と再帰操作をサポートするファイル エクスプローラーを表示する
  • アウトライン - ジャンプとトラッキングをサポートするリアルタイム LSP を利用したソースコードのアウトラインを提供する
  • ターミナルブラウザ - ターミナル インスタンスの作成、名前変更、ジャンプ、および削除を行うためのターミナル マネージャを提供する
  • タイムライン - ファイルの git 履歴を表示し、複数のコミットでファイルがどのように操作されたかを示す

利用手順

  1. neovim のプラグインマネージャーから nvim-ide プラグインをインストールする

  2. setup 関数うを呼び出す(オプションでデフォルト設定を使用する)

-- default components
local explorer        = require('ide.components.explorer')
local outline         = require('ide.components.outline')
local callhierarchy   = require('ide.components.callhierarchy')
local timeline        = require('ide.components.timeline')
local terminal        = require('ide.components.terminal')
local terminalbrowser = require('ide.components.terminal.terminalbrowser')
local changes         = require('ide.components.changes')
local commits         = require('ide.components.commits')
local branches        = require('ide.components.branches')
local bookmarks       = require('ide.components.bookmarks')

require('ide').setup({
    -- the global icon set to use.
    -- values: "nerd", "codicon", "default"
    icon_set = "default",
    -- place Component config overrides here. 
    -- they key to this table must be the Component's unique name and the value 
    -- is a table which overrides any default config values.
    components = {},
    -- default panel groups to display on left and right.
    panels = {
        left = "explorer",
        right = "git"
    },
    -- panels defined by groups of components, user is free to redefine these
    -- or add more.
    panel_groups = {
        explorer = { outline.Name, explorer.Name, bookmarks.Name, callhierarchy.Name, terminalbrowser.Name },
        terminal = { terminal.Name },
        git = { changes.Name, commits.Name, timeline.Name, branches.Name }
    }
})
  1. ワークスペース」コマンドを実行する

  2. :h nvim-ide を起動して利用を開始する

使用感

今回は実際にインストールしてみることはしませんでしたが、YouTube の方に nvim-ide 作者が作成した説明動画が上がっているため、そちらを見てみると大変参考になります。

youtu.be

私自身も大まかに見たのですが、シンプルで Vim を操作するはずだった neovim が VSCode ライクな UI になっていたため、普段 VSCode を利用されている方にとってはとても使用感が良さげなものになっているかと思いました。

インストール方法自体もとても簡単なので、neovim を利用されている方にとってはその点も嬉しいですね。

まとめ

今回は、VSCode にインスパイアされ、neovim の完全な IDE レイヤーであるプラグインnvim-ide」をご紹介しました。

普段 neovim を利用されていてデザインを少し変えてみたいと考えている方や、neovim を利用し始めた方、これから Vim を利用するにあたり neovim エディタを触ってみたいなと考えている方など、幅広い方々にお勧めできる neovim 用のプラグインかと思います。

ぜひ一度、こちらのプラグインを試してみて、neovim の新しい扉を開いてみてはいかがでしょうか。

ライセンス

MIT License

リンク

github.com

youtu.be