vimヘルプファイル(特にinsert.txtなど)には記載されていないが、本来はむしろ頻繁に必要性が感じられる補完タイプがあります。私は私のファイルに "素晴らしい"と "SuperCrazyAwesome"という言葉があるとしましょう。私は本当にSuperCrazyAwesomeであるべきAwesomeのインスタンスを見つけるので、単語の先頭に移動し、挿入モードに入り、「SuperCrazy」とタイプする必要があります。vimの内部コード補完
"S"を入力して "SCrazy"を作成してから、完了ホットキーまたは2回押すだけでカーソルの左側にあるもの( "S")を見つけられるはずです。ファイル内のすべての単語( "/ S \ w * Crazy /")に対してこれを正規表現にして、補完ポップアップメニューを表示してください。
実際の補完システムを使用したいと思います。関数を使用する "ユーザー定義の"補完が存在し、与えられたリストからの置換のための良い例があります。しかし、私はこれを実現するために必要な多くの事柄を追跡することはできません:
- vim関数からファイル内のすべての単語のリストを取得するにはどうすればよいですか?
- vimの完全な機能のように、すべてのバッファ(ファイル名)の単語をリストできますか?
- 挿入モードで、カーソルの前後にある単語のテキストを取得するにはどうすればよいですか?
- 完了までは、カーソルまでではなく、単語全体を置き換えることができますか?
私はこれで2時間ほどでした。 this oneのようなデッドエンドを打ち続けると、カーソル位置とのマッチングのために私を\%#に導いてくれました。それは私にとってはうまくいかないようです。たとえば、\ w * \%#を検索すると、自分がどこにいるかに関係なく、自分が使用している単語の最初の文字のみが返されます。 \%#はアンカーしていないようです。
厳密には関係ありませんが、[this](http://stackoverflow.com/questions/6548541/camelcase-expansion-in-vim-like-intellij-idea/6550628#6550628)からのヒントを得ることができます。現在のファイルから単語のリストを生成する関数の例とカスタム補完関数があります。私は今日、後で答えを出すつもりです。 –
あなたのリンクは面白くてデータに富んだようです。私はそれを掘り起こすでしょう。ご協力いただきありがとうございます。 –