Vim: Como criar preenchimento automático / seletor de entradas no buffer?

1

Descobrimos hoje que se você pressionar Ctrl-Opt-Cmd-V no Textmate, ele produzirá um pequeno diálogo "seletor" no local que permite que você pagine pelas entradas recentes da área de transferência. Parece muito semelhante a como CTRL-P e N funcionam no VIM, exceto que mostra linhas inteiras em vez de simples objetos de palavras.

Parece que isso seria factível no VIM - ele já tem um buffer cheio de entradas (o buffer YankRing, por exemplo), e ele já tem um seletor, mas não consigo pensar em onde eu gostaria comece a colocar esses dois juntos. Alguma idéia?

(Eu sei que o YankRing já faz isso abrindo uma nova janela cheia de conteúdo do buffer, mas eu me pergunto se há uma maneira de fazer isso sem toda a janela de comutação / fechamento / etc)

    
por Doug Avery 22.02.2011 / 22:11

2 respostas

1

O Vim fornece dois mecanismos de conclusão de inserção definidos pelo usuário: Conclusão definida pelo usuário e conclusão da Omni. Você pode ler sobre eles aqui:

:help compl-function
:help compl-omni
:help complete-functions
:help 'completefunc'
:help 'omnifunc'

Eu nunca usei isso sozinho, mas desde que você pediu onde começar a procurar, é isso. Você também pode querer ler esta seção,

:help ins-completion

para obter uma explicação dos vários mecanismos incorporados de conclusão do modo de inserção do Vim, que podem ajudá-lo a evitar a criação do seu próprio. Eu não vi um mecanismo predefinido para selecionar a partir de entradas da área de transferência, no entanto. Você pode inserir as exclusões anteriores com um pouco de trabalho usando :registers para visualizar os registros disponíveis e, em seguida, inserir o conteúdo do registro desejado com Ctrl-R seguido do nome do registro. Veja

:help :register
:help registers
:help i_CTRL-R
    
por 22.02.2011 / 23:11
0

Minha resposta é provavelmente um pouco OT, mas eu prefiro ter um gerenciador de área de transferência do sistema como esta funcionalidade é útil em muitos contextos. Aqui estão os que estou usando com o mesmo atalho de teclado para cada um:

por 01.04.2011 / 10:53