o preenchimento automático de nome de arquivo funciona para ls, mas não para vi

0

Como o preenchimento automático de nome de arquivo funciona para o lscomando, mas não vino meu Ubuntu 16.04.5 LTS? (Xfce4, bash). Eu acho que costumava funcionar, mas não agora.

Da resposta de Matthieu abaixo, tentei o abaixo. Olá, obrigado, segui o seu exemplo de link e segui a resposta de Louis Soulez . Ainda assim, a conclusão automática não funciona corretamente para o Vi. Ele é concluído automaticamente até certo ponto, mas quando não dou o padrão de início em uma entrada de diretório, não há uma lista desse diretório.

Minha outra máquina Ubuntu não possui /etc/bash_completion.d/viarquivo, mas a conclusão automática funciona bem até o fim para o Vi. A propósito, a lista de arquivos /etc/bash_completion.dneste outro sistema Ubuntu é:

apport_completion desktop-file-validate libreoffice.sh axi-cache dkms ninja bazel gem1.9.1 pon cmake git-prompt pulseaudio-bash-completion.sh cpack grub ufw ctest initramfs-tools upstart debconf insserv

O que poderia afetar a conclusão do Vi? Você tem alguma outra ideia?

Chan Kim
fonte
Talvez vim ou gvim? O preenchimento automático de arquivo não deve precisar de configurações; apenas parâmetros. Vou verificar minha configuração quando estiver no trabalho.
Matthieu
parece que o próprio vi faz o trabalho. depois de reiniciar o computador, o vi completamento automático funciona agora. BTW, ao tentar resolver isso, excluí por engano 4 ou 5 arquivos em /etc/bash_completion.d. Você sabe por acaso como posso recuperar os arquivos? (Eu apaguei insserv, libreoffice.sh e ninja.) Desculpe incomodar .. e obrigado.
Chan Kim
infelizmente, existem maneiras limitadas de recuperar arquivos em um ext4. Tente obtê-lo de outro Ubuntu em algum lugar (ou de outra instalação em uma VM). Eu tenho insserv e libreoffice.sh, mas nenhum ninja.
Matthieu
11
@ Matthieu Eu pensei o mesmo, mas estranhamente, sem esses arquivos, e depois de comentar a parte 'habilitar a conclusão programável ...' no meu .bashrc, minha conclusão automática está funcionando para todos os casos como antes. (trabalha para ls, vi e outros ..). Voltarei a isso quando tiver tempo mais tarde. Obrigado!
Chan Chan #

Respostas:

0

Acho que seu /etc/bash_completion.d/viarquivo foi excluído. Você deve recriá-lo, por exemplo, lsaquele.

Veja a página GNU na conclusão do bash para mais informações, ou este exemplo .

Matthieu
fonte
Oi obrigado Eu tentei isso, mas ainda não funciona corretamente. Tentei adicionar um comentário aqui, mas foi tão longo que coloquei um ADDna minha pergunta original. Espero que você possa me dar uma sugestão. Obrigado!
Chan Kim