Se você estiver procurando explicitamente por arquivos ocultos, use um padrão que comece com ponto,
ls .*vim*
Depois, não há necessidade da sinalização -a.
Por que o seguinte não inclui arquivos ocultos?
ls -a *vim*
que retornará
ls: cannot access '*vim*': No such file or directory
ls -a | grep vim
.vim
.vimrc
É o shell que encontra os nomes dos arquivos que correspondem ao padrão, não o ls em si. Portanto, você precisa fazer com que o shell inclua nomes começando com um ponto, usando shopt -s dotglob antes do comando ls ou incluindo especificamente o ponto no padrão: .*vim* . Embora observe que, se o padrão corresponder aos diretórios, ls listará seu conteúdo (e é aqui que -a será importante, já que agora é ls listando os arquivos). Para evitar isso, use ls -d .