Palavra completa do modo de comando Vim

12

Existe uma maneira de obter o Vim no modo de comando para concluir as palavras do arquivo atual? Digamos que eu tenho este arquivo:

one
two
three
once

e entro no modo de linha de comando

:myruncommand o|

onde |denota a posição do cursor. Como faço para completar o Vim oneou onceao pressionar Tab?

Nickolay Kolev
fonte
Cite a descrição do script: "No modo ':', a conclusão está disponível somente após um '/'." Não é realmente o que eu preciso.
Nickolay Kolev

Respostas:

5

A resposta do jamesc costuma ser a mais conveniente, mas para quando você souber antecipadamente que deseja usar o preenchimento automático para uma cadeia de comando ou pesquisa ou outras funções disponíveis apenas em um buffer, aqui está outra maneira de obter os buffers apropriados :

  • Digite q :para abrir o buffer de comando
  • Digite apara começar a digitar o novo comando: myruncommand o
  • Use Ctrl+ N/ Ctrl+ Ppara concluir a palavra-chave, assim como na resposta do jamesc

Basicamente, q :faz o mesmo que : Ctrl+ F: permite inserir comandos como se você estivesse inserindo texto em um buffer. Da mesma forma, q /e / Ctrl+ Fambos permitem digitar as cadeias de pesquisa em um buffer.

Michael Scheper
fonte
Ótima resposta. O buffer de comando é algo que eu definitivamente gostaria de usar melhor.
22915 jamesc
@jamesc: Estou feliz que tenha sido útil para você. Eu não sabia Ctrl+F, então sua resposta também me ajudou.
Michael Scheper
3

Embora seja verdade que isso não pode ser concluído nativamente com 'tab', existe a possibilidade de:

  • Digitando o comando desejado no modo de linha de comando. Para o exemplo acima, isso foi:

    :myruncommand o
    
  • Agora pressione Ctrl-Fpara entrar na janela de comando.

  • Use Amover para o final da linha e entre no modo Inserir.
  • Use Ctrl-N/ Ctrl-Ppara abrir a conclusão da palavra-chave e selecione a opção desejada - neste exemplo, ambos onee oncedevem estar disponíveis, pois estão em um buffer aberto.

Eu adicionei esta resposta porque minha pesquisa por "vim palavra completa no modo de comando" me trouxe aqui e parece ser uma solução viável, mesmo que não use a tecla 'tab'.

Isso funciona para mim no Vim 7.4

jamesc
fonte
Eu deveria ter adivinhado que havia uma maneira fácil de acessar o buffer de comando / pesquisa enquanto já inseria um comando ou sequência de pesquisa! Obrigado! Eu adicionei uma resposta com base na sua, da maneira que eu já sabia. Mas, sem dúvida, Ctrl+Fé mais conveniente em muitos casos. superuser.com/a/1016058/219388
Michael Scheper
1

A conclusão está disponível se você inserir o histórico do modo de comando. Muito útil para alterar ou repetir comandos usados ​​anteriormente.

Pressione q: no modo normal para entrar no painel do histórico de comandos.

Veja http://vim.wikia.com/wiki/Using_command-line_history para mais detalhes.

rvrsd
fonte
1
No modo de linha de comando, se você digitar Ctrl-fo histórico da linha de comando abre, e se você quer fechar essa janela, você pode digitarCtrl-w q
SergioAraujo