Nvim :help
ページは、このスクリプトから ソース を使用して、tree-sitter-vimdoc パーサーによって生成されています。
:menu {menu-item} {keys}
{menu-item}
は、メニュー上の項目の配置場所を示します。典型的な {menu-item}
は "File.Save" で、これは "File" メニューの下にある "Save" 項目を表します。ドットは名前を区切るために使用されます。例::menu File.Save :update<CR>":update" コマンドは、ファイルが変更されたときにファイルを書き込みます。さらにレベルを追加することもできます。"Edit.Settings.Shiftwidth" は、"Edit" メニューの下に "Settings" サブメニューを定義し、その中に "Shiftwidth" 項目を作成します。さらに深いレベルを使用することもできますが、あまり深くしすぎると、項目を使用するためにマウスをかなり動かす必要が生じます。":menu" コマンドは ":map" コマンドと非常によく似ています。左側には項目のトリガー方法が指定され、右側には実行される文字が定義されます。
{keys}
は文字であり、入力したのと同じように使用されます。したがって、挿入モードでは、{keys}
がプレーンテキストの場合、そのテキストが挿入されます。{menu-item}
は "&File.&Save" のようになります。アクセラレータ文字はメニュー内で下線が引かれます。各キーは各メニュー内で一度だけ使用されるように注意する必要があります。そうでない場合、どちらのキーが実際に使用されるかわかりません。Vim はこれについて警告しません。:menu 10.340 &File.&Save<Tab>:w :confirm w<CR>数字 10.340 は優先順位番号と呼ばれます。エディタはこれを使用してメニュー項目の配置場所を決定します。最初の数字 (10) はメニューバー上の位置を示します。番号が小さいメニューは左側に、番号が大きいメニューは右側に配置されます。標準メニューに使用される優先順位は次のとおりです。
+-----------------+ 10.310 |Open... | 10.320 |Split-Open... | 10.325 |New | 10.330 |Close | 10.335 |---------------- | 10.340 |Save | 10.350 |Save As... | 10.400 |---------------- | 10.410 |Split Diff with | 10.420 |Split Patched By | 10.500 |---------------- | 10.510 |Print | 10.600 |---------------- | 10.610 |Save-Exit | 10.620 |Exit | +-----------------+
{menu-item}
の各名前には独自の優先順位番号があります。{menu-item}
は "&File.&Save<Tab>:w" です。これは重要なポイントです。{menu-item}
は 1 つの単語でなければなりません。名前にドット、スペース、またはタブを入れたい場合は、<> 表記(たとえば、<Space>
や <Tab>
)を使用するか、バックスラッシュ (\) エスケープを使用します。:menu 10.305 &File.&Do\ It\.\.\. :exit<CR>この例では、メニュー項目 "Do It..." の名前にスペースが含まれており、コマンドは ":exit<CR>" です。
<Tab>
文字は、メニュー名を定義する部分とユーザーへのヒントを与える部分を区切るために使用されます。<Tab>
の後の部分は、メニューの右側に表示されます。File.Save メニューで使用される名前は "&File.&Save<Tab>:w" です。したがって、メニュー名は "File.Save" で、ヒントは ":w" です。:amenu 20.510 Edit.-sep3- :
{keys}
はノーマルモードで実行されることを前提としています。メニューが使用されたときに Vim がビジュアルモードまたは挿入モードになっている場合、Vim は最初にノーマルモードに戻る必要があります。":amenu" は CTRL-C
または CTRL-O
を自動的に挿入します。たとえば、次のコマンドを使用する場合:amenu 90.100 Mine.Find\ Word *結果のメニューコマンドは次のようになります。
*
ビジュアルモード: CTRL-C
*
オペレーター待機モード: CTRL-C
*
挿入モード: CTRL-O
*
コマンドラインモード: CTRL-C
*
CTRL-C
はそれまでに入力されたコマンドを破棄します。ビジュアルモードとオペレーター待機モードでは、CTRL-C
はモードを停止します。挿入モードの CTRL-O
はコマンドを実行してから挿入モードに戻ります。CTRL-O
は 1 つのコマンドに対してのみ機能します。2 つ以上のコマンドを使用する必要がある場合は、それらを関数に入れてその関数を呼び出します。例::amenu Mine.Next\ File :call <SID>NextFile()<CR> :function <SID>NextFile() : next : 1/^Code :endfunctionこのメニューエントリは、":next" を使用して引数リストの次のファイルに移動します。次に、"Code" で始まる行を検索します。関数名の前の
<SID>
はスクリプト ID です。これにより、関数は現在の Vim スクリプトファイルに対してローカルになります。これにより、別のスクリプトファイルで同じ名前の関数が定義されている場合に問題が発生することを防ぎます。<SID> を参照してください。{keys}
を実行します。":" コマンドの場合、これはコマンドラインにコマンドがエコーされることを意味します。長いコマンドの場合は、Enter キーを押すプロンプトが表示されます。これは非常に迷惑な場合があります!これを回避するには、メニューをサイレントにします。これは <silent>
引数を使用して行います。たとえば、前の例の NextFile() の呼び出しを考えてみましょう。このメニューを使用すると、コマンドラインに次のように表示されます。<SNR>
34_NextFile():amenu <silent> Mine.Next\ File :call <SID>NextFile()<CR><silent> を使いすぎないでください。短いコマンドには必要ありません。他のユーザーのためにメニューを作成する場合、実行されたコマンドを見ることができるようにすることで、マウスを使用する代わりに何を入力できるかについてのヒントを与えることができます。
{keys}
部分なしでメニューコマンドを使用すると、すでに定義されているメニューが一覧表示されます。特定のメニューを一覧表示するために、{menu-item}
またはその一部を指定できます。例::amenuこれはすべてのメニューを一覧表示します。これは長いリストです!短いリストを取得するには、メニューの名前を指定することをお勧めします。
:amenu Editこれは、すべてのモードの "Edit" メニュー項目のみを一覧表示します。挿入モードの特定のメニュー項目 1 つのみを一覧表示するには、次のようにします。
:imenu Edit.Undo正しい名前を正確に入力するように注意してください。大文字と小文字は区別されます。ただし、アクセラレータの '&' は省略できます。
<Tab>
とその後の部分も省略できます。:iunmenu Tools.Makeメニュー名を使用して、メニュー全体とそのすべての項目を削除できます。例:
:aunmenu Syntaxこれは、構文メニューとその中のすべての項目を削除します。
:set guioptions-=m
:amenu File.Open :browse confirm edit<CR>":browse" は、編集するファイルを選択するためのファイルブラウザを表示します。":confirm" は、現在のバッファに変更がある場合にダイアログをポップアップ表示します。変更を保存するか、破棄するか、コマンドをキャンセルするかを選択できます。より複雑な項目の場合は、confirm() 関数と inputdialog() 関数を使用できます。デフォルトのメニューにはいくつかの例が含まれています。
{menu-item}
は、ツールバーに "New" アイコンを表示させます。Vim エディタには 28 個の組み込みアイコンがあります。表はこちらにあります:builtin-tools。それらのほとんどはデフォルトのツールバーで使用されています。これらの項目の動作を再定義できます(デフォルトのメニューが設定された後)。ツールバー項目に別のビットマップを追加できます。または、ビットマップを使用して新しいツールバー項目を定義できます。たとえば、次のように新しいツールバー項目を定義します。:tmenu ToolBar.Compile Compile the current file :amenu ToolBar.Compile :!cc %:S -o %:r:S<CR>次に、アイコンを作成する必要があります。MS-Windows の場合はビットマップ形式で、名前は "Compile.bmp" でなければなりません。Unix の場合は XPM 形式で、ファイル名は "Compile.xpm" です。サイズは 18 x 18 ピクセルでなければなりません。MS-Windows では他のサイズも使用できますが、見栄えが悪くなります。'runtimepath' のディレクトリのいずれかにある "bitmaps" ディレクトリにビットマップを配置します。たとえば、Unix の場合は "~/.config/nvim/bitmaps/Compile.xpm" です。
:tmenu ToolBar.Make Run make in the current directory