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 ctrlpe 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 .gitna 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-filescomando acima funciona para mim.)