Faça o emacs autocompletar arquivos cpp sobre arquivos binários

1

A minha pergunta é semelhante a este , exceto o emacs em vez de vim. O problema é que eu tenho um arquivo cpp que eu quero abrir e quando eu digito f [TAB] ele autocomplete para foo o arquivo binário foo em vez de foo.cpp. Existe uma maneira de transformar o preenchimento automático de arquivos com certa (ou nenhuma) extensão? Ou existe uma maneira de priorizar certas extensões?

EDITAR: Eu usei esta solução para autocompletar no minibuffer, mas eu quero uma solução para autocompletar Bash.

EDITAR: Descobri que posso fazer export FIGNORE=.bin para ignorar todos os arquivos com a extensão .bin no preenchimento automático Bash. O problema com essa solução é que isso não funciona para um arquivo sem extensão, e também não há como fazer isso apenas quando não houver arquivos .cpp no mesmo diretório.

    
por gsingh2011 14.11.2012 / 06:34

1 resposta

1

Se você der alguma extensão (por exemplo, .bin), então você pode ignorá-lo com o completion-ignore-extensions:

When completing file names, Emacs usually omits certain alternatives that are considered unlikely to be chosen, as determined by the list variable completion-ignored-extensions. Each element in the list should be a string; any file name ending in such a string is ignored as a completion alternative. Any element ending in a slash (/) represents a subdirectory name. The standard value of completion-ignored-extensions has several elements including ".o", ".elc", and "~". For example, if a directory contains ‘foo.c’ and ‘foo.elc’, ‘foo’ completes to ‘foo.c’. However, if all possible completions end in “ignored” strings, they are not ignored: in the previous example, ‘foo.e’ completes to ‘foo.elc’. Emacs disregards completion-ignored-extensions when showing completion alternatives in the completion list.

link

    
por 14.11.2012 / 09:43