Compartilhar conclusões entre instâncias vim em execução

10

Eu uso tmuxna maior parte ao invés de usar vimtabulações e divisões. O vim tem a capacidade de compartilhar conclusões (via Ctrlne Ctrlp) entre instâncias em execução? Existe uma maneira de configurá-lo onde cada um deles vimsestá se comunicando com o servidor vim.?

Gregory Nisbet
fonte
8
Não, isso não pode ser feito de maneira prática . O Vim é perfeitamente capaz de lidar com dezenas e dezenas de buffers, use seu poder.
Romainl
11
@romainl, poderíamos escrever algo em um "arquivo de conclusão" de onde vimleria e atualizasse sua lista de conclusão?
1944 J. Chomel

Respostas:

2

O Vim poderá usar o mesmo banco de dados de conclusão se o banco de dados for externo a cada instância do vim.

Por exemplo, a conclusão será um pouco 'compartilhada' se você usar a ctagsconclusão youcompletemeou qualquer outro plug-in que use arquivos ou processos externos.

O preenchimento de palavras não é muito útil para você, pois usará apenas palavras no mesmo arquivo: C-N/C-P

Mas omnie ctagsconclusão vai usar ctagsbanco de dados (que deve ser construído por exuberant ctagsantemão) e será compartilhada entre todas as instâncias.

Digite C-X C-Opara omni-conclusão, C-X C-]para conclusão de ctags.

Yuriy Ershov
fonte
0

Na :help i_ctrl-nmostra que Vim usa a completeopção de palavras completas. A ajuda completecontinua mostrando que a única opção real para usar algo que não é local na instância do Vim é usar um arquivo de dicionário. A questão se resume a gerar um arquivo de dicionário usando todas as instâncias do vim. Você pode fazer isso analisando todos os arquivos abertos de vez em quando. Não tenho idéia do impacto que isso teria no desempenho.

Outra opção seria usar uma mecânica totalmente diferente (ctags etc.), mas isso poderia prejudicar a funcionalidade em outros lugares, pois não eram realmente destinadas a um preenchimento automático simples.

Em uma observação mais geral, você também pode alterar um pouco o fluxo de trabalho para se concentrar mais na maneira como o Vim foi projetado para ser usado. Isso significaria usar uma ou algumas janelas para examinar as coisas simultaneamente e alternar os buffers com frequência. Um plugin que faz a parte de troca muito bem é o ctrlP. Após ativá-lo pressionando um botão, você pode fazer uma busca difusa por arquivos em vários locais, permitindo uma troca rápida. Contanto que você se lembre do nome do arquivo.

Octaviour
fonte