Use um comando de listagem personalizado
Ctrlp permite dizer qual comando usar para obter uma lista de arquivos na pasta. Portanto, se você deseja excluir qualquer coisa chamada beets.txt
, você pode fazer:
let g:ctrlp_user_command = 'find %s -type f | grep -v "beets.txt"'
Isso é global, mas começa a apontar para a resposta: forneça seu próprio comando shell.
Melhor ainda, o Ctrlp permite fornecer vários comandos do shell com marcadores, o que significa "se você vir esse marcador no diretório raiz, use este comando".
Encontrei isso :help ctrlp
e modifiquei um pouco com base no comentário do autor sobre um problema.
let g:ctrlp_user_command = {
\ 'types': {
\ 1: ['.git', 'cd %s && git ls-files --cached --exclude-standard --others'],
\ 2: ['.hg', 'hg --cwd %s locate -I .'],
\ },
\ 'fallback': 'find %s -type f'
\ }
Isso significa: "Se você vir .git
na pasta, use git ls-files...
. Caso contrário, se vir .hg
, use hg --cwd...
, caso contrário, use um regular find
."
Portanto, para ignorar uma pasta específica em um projeto, crie um comando que a ignore e, em seguida, coloque um marcador exclusivo nesse projeto para permitir que Ctrlp que você deseja usar seu comando especial aqui .
(No meu caso, eu realmente queria ignorar os arquivos que estavam dentro .gitignore
, então o git ls-files
comando acima funciona para mim.)