Quando executo #'helm-find-files
e movo o ponto para um diretório, pressionar <ret>
resulta na abertura desse diretório no modo direcionado. É preciso pressionar C-j
para entrar nesse diretório no Helm.
Eu gostaria de <RET>
agir como C-j
faz aqui, mas não necessariamente em qualquer outro lugar. Eu verifiquei e estou C-j
vinculado a #'helm-maybe-exit-minibuffer
, enquanto <RET>
vinculado a #'helm-execute-persistent-action
. Vinculativo <RET>
para #'helm-maybe-exit-minibuffer
obras para este caso, mas breaks outros casos: por exemplo, o autocomplete leme no describe-function
.
Portanto, ao usar o Helm para encontrar um arquivo, como posso pressionar para <RET>
abrir esse diretório no Helm?
key-bindings
helm
zck
fonte
fonte
ido-mode
, onde pressionar<RET>
seleciona a pasta para encontrar arquivos dentro dela. Eu acho que esse é o comportamento mais consistente ao tentar encontrar um arquivo - o que você quer fazer quando encontra o arquivo é abri-lo; o que você quer fazer quando encontra uma pasta está dentro dela, para que você possa encontrar o arquivo.<RET>
o preenchimento automático e o seleto. Você não precisa pressionar<tab>
para concluir o nome do arquivo. Mas estamos discutindo sobre as preferências - só quero que "enter" signifique "selecione a coisa em questão". E para mim, isso não significa "abrir dired". Se eu estivesse em uma concha, espero um comportamento diferente.Respostas:
Eu também usou
ido-mode
um monte e treinados minha memória muscular :) Eu acho que oido
estilo é mais intuitiva do que ahelm
abordagem. Eu procuro coisas (digitando alguns caracteres) e me comprometo com a busca (ocorrênciaRET
), assim como a barra de pesquisa / endereço do meu navegador. Se a seleção for um diretório, insiro esse diretório e começo a pesquisar novamente nesse diretório. Isso parece natural para mim, então escrevi um pequeno conselhohelm-execute-persistent-action
para forçar esse mecânico.Também otimizei a
backspace
chave levemente. Se eu digitar algo e quiser fazer uma correção, pressione backspace. Isso excluirá um caractere. Se eu estiver no início do diretório e pressionar backspace novamente, navegarei um nível acima. Isso acelera a navegação dramaticamente!Para remover o inútil
.
e..
no início, você pode adicioná-lo àhelm-boring-file-regexp-list
variável de configuração.fonte
find-file
. E o.
e..
não é realmente inútil quando você deseja abrir o Dired no diretório atual ou pai. E acho queC-l
é mais rápido do que pressionarbackspace
.(kbd "<return>")
? Parece um pouco mais limpo chamar a ação helm-execute-persistent-action diretamente dentro da nova função.Symbol's value as variable is void: helm-find-files-map
. Quando coloco(helm-mode 1)
depois(require 'helm)
, não recebo esse erro, mas também não funciona. Alguma idéia do que posso estar perdendo? Aqui está o meu init.el completo: pastebin.com/drFZsDxW A versão do Emacs é 24.4.1 (i686-pc-mingw32)define-key
, se eu tentarC-h k RET
o minibuffer de arquivo de localização, ele ainda aparecehelm-confirm-and-exit-minibuffer
como vinculado.Eu não posso comentar sobre a resposta do Fu86 devido à repetição, mas estou recuando (desculpe se este não é um protocolo normal). Eu recebi uma função nula usando sua resposta devido a "helm-find-files-map". Funcionou para mim usar o mapa de teclas "helm-map". Até agora, não há conflitos e é o comportamento que eu estava procurando.
... (define-key helm-map (kbd "<return>") 'helm-execute-persistent-action) ...
fonte
Não consegui que a resposta do @ Fu86 funcionasse, mas o seguinte funcionou para mim:
consulte também: /programming/27652371/how-can-i-change-emacs-helm-find-file-default-action-on-directory-to-be-go-insid
Editar
Minha solução funciona no leme-20141112.946, mas no leme-20160211.934 não funciona e a resposta @ Fu86 é a solução
fonte