tcsh shell não autocompõe arquivos * .log para vi

1

Ao tentar autocompletar um nome de arquivo para o vi, os arquivos terminados em .log não são listados como opções. Como posso corrigir isso?

    
por Rob 08.04.2011 / 10:41

2 respostas

1

Eu acho que você tem algum lugar (talvez em seu ~/.cshrc ) especificado algo como isto:

complete vi 'n/*/f:^*.{o,a,dvi,gz,z,Z,log}/'

Você deve alterá-lo (por exemplo, substituí-lo), por exemplo:

complete vi 'n/*/f:^*.{o,a,dvi,gz,z,Z}/'

Explicação: n significa "Conclusão da próxima palavra", * é um padrão glob para corresponder ao início da palavra na linha de comando, f significa nome do arquivo, ^*.{o,a,dvi,gz,z,Z} significa que o nome do arquivo deve não termine com .o , .a , .dvi , .gz , .z ou .Z .

    
por 08.04.2011 / 11:05
1

É possível que o preenchimento automático que está ignorando os nomes de arquivos terminados em .log não seja específico de vi . É possível que nomes de arquivos terminados em .log não estejam sendo preenchidos automaticamente para nada.

Existe uma variável shell no tcsh chamada fignore , que, de acordo com a página man para tcsh , faz o seguinte:

Lists file name suffixes to be ignored by completion.

Na minha configuração e uso tcsh , faz sentido ignorar certos arquivos em relação aos recursos de conclusão:

% set fignore = (.aux .log .elc .o)
% echo $fignore
.aux .log .elc .o

Supondo, no entanto, que você tenha alguns recursos de conclusão específicos devi configurados para ignorar .log , o comando a seguir deve permitir que você saiba:

% complete | grep vi
    
por 27.04.2013 / 20:04