Vimコマンドモードの完全な単語


12

コマンドモードでVimに現在のファイルから単語を完成させる方法はありますか?このファイルがあるとしましょう:

one
two
three
once

そして、私はコマンドラインモードに入ります

:myruncommand o|

ここで、|カーソル位置を示します。Vimを完成させるには、oneまたはonceTabキーを押します。



スクリプトの説明からの引用:「 ':'モードでは、補完は '/'の後にのみ使用できます。」本当に必要なものではありません。
Nickolay Kolev、2011

回答:



5

多くの場合、jamescの答えが最も便利ですが、コマンドや検索文字列、またはバッファーでのみ使用可能なその他の関数にオートコンプリートを使用することが事前にわかっている場合は、適切なバッファーにアクセスする別の方法を次に示します:

  • 入力q :してコマンドバッファを開きます
  • 次のように入力aして、新しいコマンドの入力を開始します。 myruncommand o
  • jamescの回答と同様に、キーワード補完にCtrl+ N/ Ctrl+ Pを使用します

基本的に、+ q :と同じことを行います。バッファにテキストを入力する場合と同じようにコマンドを入力できます。同様に、および+の両方を使用すると、バッファに検索文字列を入力できます。: CtrlFq // CtrlF


すばらしい答えです。コマンドバッファは、私が確実に使用したいものです。
jamesc

@jamesc:お役に立ててうれしいです。については知りませんでしたCtrl+Fので、あなたの答えも役に立ちました。
Michael Scheper、2015

3

これは「tab」ではネイティブに完了できないことは事実ですが、次の可能性があります。

  • 必要なコマンドをコマンドラインモードで入力します。上記の例の場合、これは次のとおりです。

    :myruncommand o
    
  • を押しCtrl-Fて、コマンドウィンドウに入ります。

  • 使用するA行の末尾に移動して挿入モードに入ります。
  • 使用Ctrl-N/ Ctrl-Pキーワード完了を開き、必要なオプションを選択する-この例では、両方のoneonce、彼らが開いバッファにあるので利用可能であるべきです。

「コマンドモードでのvimの完全な単語」の検索でここに移動したため、この回答を追加しました。「tab」キーを使用していなくても、これは実行可能なソリューションのようです。

これは私にとってVim 7.4で機能します


すでにコマンドまたは検索文字列を入力しているときに、コマンド/検索バッファーに移動する簡単な方法があるとは思いませんでした!ありがとう!私はすでに知っている方法で、あなたの答えに基づいて答えを追加しました。しかし、間違いなく、Ctrl+F多くの場合により便利です。superuser.com/a/1016058/219388
マイケルシェパー

1

コマンドモードの履歴を入力すると完了できます。以前に使用したコマンドを変更または繰り返すのに非常に便利です。

通常モードでq:を押して、コマンド履歴ペインに入ります。

詳細については、http://vim.wikia.com/wiki/Using_command-line_historyを参照してください。


1
コマンドラインモードでCtrl-f、コマンドライン履歴を開くと、次のように入力できますCtrl-w q
SergioAraujo
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.