3

1行のウィンドウを使用してユーザーからファイル名パターンを取得するvimスクリプトがあります。このパターンは、CTRL-X CTRL-O を押すと、データベースから完全なファイル名に補完できます。唯一の問題は、オートコンプリートのショートカットを自分で押さなければならないことです。しかし、入力するすべての文字が自動的に更新されるように、オートコンプリートが段階的に機能するようにしたいと考えています (Eclipse の CTRL-R ファイルを開くダイアログを考えてみてください)。

この特定のウィンドウでユーザーが入力している各文字に対して、自動コマンドまたは何らかのコールバックを使用して CTRL-X CTRL-O の背後にある関数を呼び出す方法はありますか?

4

3 に答える 3

2

オースティンは正しい方向に進んでいますが、イベントが間違っています。CursorMovedIのイベントをご覧くださいautocmd。基本的に、挿入モードでキーボード カーソルが移動するたびに起動します。文字を入力しますか?カーソルが移動し、イベントが発生します。

文字の入力や削除以外の理由でカーソルが移動する可能性があるため、これは使用するには少し手間がかかることに注意してください。ユーザーは矢印キーを使用して、編集したい場所に戻ることができます。移動するたびに完了がポップアップします。

ウィンドウローカルの自動コマンドに関するヘルプには何も見つかりませんが、バッファローカルは存在するので、それで十分に近いかもしれません。

于 2012-02-14T18:52:59.203 に答える
1

このプラグインを試して、必要に応じて変更してください: http://www.vim.org/scripts/script.php?script_id=1879

私は幸せなユーザーです。

于 2010-04-07T11:23:54.333 に答える
0

をご覧ください:h autocmd。イベントはあなたがやりInsertChangeたいことをするために使用できると思います。

于 2011-02-14T21:30:18.633 に答える