20 +の独立したLuaモジュールのライブラリは、最小限の労力で全体的なNeovim(バージョン0.7以降)のエクスペリエンスを向上させます。これらはすべて、同じ構成アプローチと一般的な設計原則を共有しています。
このプロジェクトは、Neovimプラグインの中の「スイスアーミーナイフ」と考えてください:最も一般的なタスクに適した多くの異なる独立したツール(モジュール)があります。各モジュールは、起動や使用のオーバーヘッドなしで個別に使用できます。
このプロジェクトの成長を支援したいが、どこから始めればよいかわからない場合は、寄稿ガイドを確認するか、「mini.nvim」プロジェクトやスタンドアロンのGitリポジトリにGithubスターを残してください。
インストール元のブランチは 2 つあります。
main(デフォルト、推奨)プラグインの最新の開発バージョンがあります。前回の安定版リリース以降のすべての変更は、ベータテスト段階にあると認識されるべきです(つまり、すでにアルファテストに合格し、適度に解決されています)。
stableブランチのパブリックベータテストフェーズ中にコードがテストされたリリース時にのみ更新されます。
main
一般的なインストール方法のコード スニペットを次に示します。
枝 | コード スニペット |
---|---|
メイン | { 'echasnovski/mini.nvim', version = false }, |
厩 | { 'echasnovski/mini.nvim', version = '*' }, |
枝 | コード スニペット |
---|---|
メイン | use 'echasnovski/mini.nvim' |
厩 | use { 'echasnovski/mini.nvim', branch = 'stable' } |
枝 | コード スニペット |
---|---|
メイン | Plug 'echasnovski/mini.nvim' |
厩 | Plug 'echasnovski/mini.nvim', { 'branch': 'stable' } |
重要:モジュール(必要な場合)を呼び出して機能を有効にすることを忘れないでください。
setup()
注:Windowsを使用している場合は、ファイルパスが長すぎると問題が発生する可能性があります( など)。次のいずれかを実行してみてください。
error: unable to create file <some file name>: Filename too long
git config --system core.longpaths true
モジュール | 形容 | 概要 | 細部 |
---|---|---|---|
mini.ai | 拡張と作成/テキストオブジェクトa i |
リードミー | ヘルプファイル |
ミニ整列 | テキストをインタラクティブに整列する | リードミー | ヘルプファイル |
ミニアニメイト | 一般的な Neovim アクションをアニメーション化する | リードミー | ヘルプファイル |
ミニベース16 | Base16 配色の作成 | リードミー | ヘルプファイル |
ミニベーシック | 一般的な構成プリセット | リードミー | ヘルプファイル |
ミニ括弧付き | 角括弧で前後に移動 | リードミー | ヘルプファイル |
ミニ・バフリッとは | バッファの削除 | リードミー | ヘルプファイル |
ミニコメント | コメント | リードミー | ヘルプファイル |
ミニ完了 | 補完と署名のヘルプ | リードミー | ヘルプファイル |
ミニカーソルワード | カーソル下の単語を自動強調表示 | リードミー | ヘルプファイル |
ミニ.doc | Neovim ヘルプファイルの生成 | リードミー | ヘルプファイル |
ミニファジー | あいまい一致 | リードミー | ヘルプファイル |
ミニ.インデントスコープ | インデント範囲の視覚化と操作 | リードミー | ヘルプファイル |
ミニジャンプ | 次/前の1文字にジャンプ | リードミー | ヘルプファイル |
ミニジャンプ2d | 可視線内にジャンプする | リードミー | ヘルプファイル |
ミニマップ | バッファーテキストを含むウィンドウの概要 | リードミー | ヘルプファイル |
ミニ.その他 | その他の関数 | リードミー | ヘルプファイル |
ミニムーブ | 選択範囲を任意の方向に移動する | リードミー | ヘルプファイル |
ミニペア | オートペア | リードミー | ヘルプファイル |
ミニセッション | セッション管理 | リードミー | ヘルプファイル |
ミニスターター | スタート画面 | リードミー | ヘルプファイル |
ミニ.ステータスライン | ステータスライン | リードミー | ヘルプファイル |
ミニサラウンド | サラウンドアクション | リードミー | ヘルプファイル |
ミニタブライン | タブライン | リードミー | ヘルプファイル |
ミニテスト | Neovim プラグインをテストする | リードミー | ヘルプファイル |
ミニ.トレイルスペース | トレイルスペース(強調表示して削除) | リードミー | ヘルプファイル |
拡張して作成する/テキストオブジェクト( や など)。
a
i
di(
va"
a(
a)
a'
a*
a<Space>
af
a?
v:count
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
テキストをインタラクティブに整列します(インスタントプレビューの有無にかかわらず)。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
一般的なNeovimアクションをアニメーション化します(追加のマッピングやコマンドを必要とせずに、箱から出してすぐに機能します)。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
手動で提供されるパレットのためのchriskempson / base16テーマの迅速な実装。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
一般的な構成プリセット
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
角括弧で前後に移動
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
バッファの削除 (表示解除、削除、ワイプアウト) により、ウィンドウ レイアウトが保存されます。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
高速で使い慣れた行ごとのコメント。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
オートコンプリートと署名ヘルププラグイン。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
カーソルの下の単語の自動強調表示(カスタマイズ可能な遅延の後に表示されます)。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
EmmyLuaのような注釈からのヘルプファイルの生成。フック関数を介して出力を柔軟にカスタマイズできます。このプラグインを文書化するために使用されます。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
最小かつ高速なファジーマッチング。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
インデントスコープを視覚化して操作します。デバウンス遅延、アニメーションスタイル、およびスコープコンピューティングアルゴリズムのオプションのさまざまな粒度のカスタマイズをサポートします。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
次/前の1文字へのスマートなジャンプ。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
反復的なラベルフィルタリングを介して可視線内にジャンプします。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
バッファー テキストの概要、スクロール バー、および強調表示を含むウィンドウ。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
その他の便利な機能。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
選択範囲を任意の方向に移動します。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
最小で高速なオートペア。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
セッション管理 (読み取り、書き込み、削除)。
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
高速で柔軟なスタート画面
ビデオデモと簡単な概要については、READMEを参照してください。詳細については、ヘルプファイルを参照してください。
意見のあるデフォルトの外観を備えた最小かつ高速なステータスラインモジュール。
For video demo and quick overview see its README. For more details see its help file.
Fast and feature-rich surround plugin
v:count
For video demo and quick overview see its README. For more details see its help file.
Minimal and fast tabline showing listed buffers
For video demo and quick overview see its README. For more details see its help file.
Write and use extensive Neovim plugin tests
For video demo and quick overview see its README. For more details see its help file.
Work with trailing whitespace
For video demo and quick overview see its README. For more details see its help file.
Design. Each module is designed to solve a particular problem targeting balance between feature-richness (handling as many edge-cases as possible) and simplicity of implementation/support. Granted, not all of them ended up with the same balance, but it is the goal nevertheless.
Independence. Modules are independent of each other and can be run without external dependencies. Although some of them may need dependencies for full experience.
Structure. Each module is a submodule for a placeholder "mini" module. So, for example, "surround" module should be referred to as "mini.surround". As later will be explained, this plugin can also be referred to as "MiniSurround".
Setup:
Each module (if needed) should be setup separately with (possibly replace {} with your config table or omit to use defaults). You can supply only values which differ from defaults, which will be used for the rest ones.
require(<name of module>).setup({})
Call to module's always creates a global Lua object with coherent camel-case name: creates . This allows for a simpler usage of plugin functionality: instead of use (or manually in command line); available from like . Considering this, "module" and "Lua object" names can be used interchangeably: 'mini.surround' and 'MiniSurround' will mean the same thing.
setup()
require('mini.surround').setup()
_G.MiniSurround
require('mini.surround')
MiniSurround
:lua MiniSurround.*
v:lua
v:lua.MiniSurround
Each supplied table is stored in field of global object. Like .
config
config
MiniSurround.config
Values of , which affect runtime activity, can be changed on the fly to have effect. For example, can be changed during runtime; but changing won't have any effect (as mappings are created once during ).
config
MiniSurround.config.n_lines
MiniSurround.config.mappings
setup()
Buffer local configuration. Each module can be additionally configured to use certain runtime config settings locally to buffer. See section in help file for more information.
mini.nvim-buffer-local-config
Disabling. Each module's core functionality can be disabled globally or locally to buffer. See "Disabling" section in module's help page for more details. See section in main help file for common recipes.
mini.nvim-disabling-recipes
Silencing. Each module can be configured to not show non-error feedback globally or locally to buffer. See "Silencing" section in module's help page for more details.
Highlight groups. Appearance of module's output is controlled by certain highlight group (see ). To customize them, use command. Note: currently not many Neovim themes support this plugin's highlight groups; fixing this situation is highly appreciated. To see a more calibrated look, use MiniBase16 or plugin's colorscheme .
:h highlight-groups
highlight
minischeme
安定性。リリース時の各モジュールは、セットアップと機能の両方の点で比較的安定していると見なされます。バグ修正後方互換性のない変更は、可能な限り徐々にリリースされます。
このプラグインにはいくつかの配色が付属しています(それらはすべて「mini.base16」で作成されており、暗いバリエーションと明るいバリエーションの両方があります)。
minischeme-高コントラストと彩度パレットを備えた青と黄色のメインカラー。すべての例でこの配色を使用しています。
minicyan-適度なコントラストと彩度パレットを備えたシアンとグレーのメインカラー。
それらを通常としてアクティブ化します (たとえば、)。あなたは彼らがどのように見えるかを見ることができます 'mini.base16'のデモ。
colorscheme
:colorscheme minicyan
これは、私が現在最終的に実装しようとしているモジュールのリストです(私の自由な時間と献身が許す限り)、アルファベット順です。