Maneira mais rápida no arquivo Find com leme?

9

No emacs com helm, posso C-x C-fencontrar o arquivo. Após digitar parte do nome da pasta, o leme encontra a pasta correta. Neste ponto, eu posso

  1. pressione Enterpara entrar no modo Dired. e C-sprocurar uma pasta de segundo nível ...
  2. ou pressione tabpara completar o nome da pasta e continue digitando parte do segundo nome do usuário.

Existe uma maneira de encontrar arquivos mais rapidamente, como no editor de texto sublime? (pesquisa difusa nos nomes dos arquivos e nas pastas).

usuario
fonte

Respostas:

10

Você pode usar o Helm Projectile para pular arquivos em projetos facilmente. Existem algumas demos no topo do meu guia . Você pode até tratar qualquer diretório como um projeto e pular para qualquer lugar criando um .projectilearquivo vazio nesse diretório, se o seu projeto não for diretamente suportado pelo Projectile. O projétil não apenas fornece pulando para arquivos / diretórios de qualquer lugar a qualquer momento, mas você também pode pular para qualquer arquivo no cursor, em qualquer arquivo sem apenas o nome do arquivo.

Para pular para encontrar, use helm-projectile-find-file, vinculado C-c p fpor padrão.

Para pular para o diretório, use helm-projectile-dir, vinculado C-c p dpor padrão.

Para alternar entre projetos reconhecidos, use helm-projectile-projects, vinculado a Cc p p.

O projétil pode ser usado em um diretório com um grande número de arquivos (ou seja, no diretório inicial com algo como arquivos de 80k-100k) ativando o cache:

(setq projectile-enable-caching t)

Depende do seu disco rígido, a primeira vez que a inicialização helm-projectile-find-filedemorar um pouco para recuperar a lista de arquivos e bloquear o Emacs. Mas isso só acontece uma vez . Acesso subseqüente, você obtém a lista de arquivos instantaneamente até invalidar o cache.

Observe que você pode fazer uma correspondência difusa sem inserir um espaço entre os termos de pesquisa. A diferença é que, se você adicionar um espaço, o Helm reverterá para seu antigo comportamento de correspondência: correspondência exata com regex. Sem espaço, o Helm usa a correspondência difusa semelhante à que você vê no Texto Sublime.

Tu Do
fonte
Uau! Isso realmente muda a vida! Muito obrigado!
Nick
@ Nick Atualizei a resposta.
Tu Do
Obrigado por lembrar. Acho que adicionar cashingà sua resposta faria mais pessoas apreciarem projectile. (Eu adicionei um .projectile. Arquivo para o meu diretório home, o que torna tudo devagar Eu li o seu guia e adicionar (setq projectile-enable-caching t)a minha configuração, tudo é magicamente rápido Acho que os outros tendem a fazê-lo também!.)
Nick