10

vim のポップアップ メニューを使用したタブ補完は、適切な構成で非常にうまく機能します。 http://vim.wikia.com/wiki/Make_Vim_completion_popup_menu_work_just_like_in_an_IDE

vimで使用するコードジェネレーターとコード操作プログラムの小さなコレクションがあります。手順は次のとおりです。

1. initiate visual mode
2. highlight text
3. :'<,'>!hashify

アクションの選択を提供するためにvimポップアップメニューを利用したいと思います。

新しい手順は次のようになります。

1. initiate visual mode
2. highlight text
3. <Tab> -- select transform option from menu

これに使用できるvimscriptインターフェースはありますか?

4

2 に答える 2

4

挿入モードの完了ポップアップを使用して、選択したテキストフラグメントを挿入できます。これを実装するには、とを参照:help complete-functionsしてください:help complete()。コードジェネレーターが挿入する単一行の(長すぎない)テキストフラグメントを返す場合は、を介してジェネレーターを呼び出し、system(...)返された値を完了関数にフィードできます。

一方、メニューの選択肢が挿入されたテキストに直接対応していないが、戦術的な選択肢またはアクションである場合、ほとんどのプラグインは、組み込みメニューのようなスタイルの選択メニューを表示します(例:から:ilist)。

:echohl Title
:echo 'Code fragments:'
:echohl None
:echo '1. foo'
:echo '2. bar'
:let choice = nr2str(getchar())
:if choice == 1 ...

:normal! iText次に、、またはを使用して、選択に対応するテキストを挿入しますsetline()

ビジュアルモードからの完了が必要と思われる場合は、最初にでマッピングを開始して、選択したテキストをキャプチャできますy

于 2012-11-24T18:24:16.700 に答える
4

このプラグインを使用すると、Vim のようなポップアップを作成できます:

ここに画像の説明を入力

于 2014-05-28T21:27:34.793 に答える