Cuando ejecuto #'helm-find-files
y muevo el punto a un directorio, presionar los <ret>
resultados al abrir ese directorio en modo directo. Hay que presionar C-j
para ingresar a ese directorio en Helm.
Me gustaría que <RET>
actuara como lo C-j
hace aquí, pero no necesariamente en todas partes. Lo comprobé y estoy C-j
obligado a hacerlo #'helm-maybe-exit-minibuffer
, mientras <RET>
que sí #'helm-execute-persistent-action
. Enlazar <RET>
a #'helm-maybe-exit-minibuffer
funciona para este caso, pero rompe otros casos: por ejemplo, el timón se autocompleta describe-function
.
Entonces, cuando uso Helm para encontrar un archivo, ¿cómo puedo hacer presionar para <RET>
abrir ese directorio en Helm?
key-bindings
helm
zck
fuente
fuente
ido-mode
, donde presionar<RET>
selecciona la carpeta para encontrar archivos dentro de ella. Creo que este es el comportamiento más consistente cuando se trata de encontrar un archivo: lo que desea hacer cuando lo encuentra es abrirlo; lo que quiere hacer cuando haya encontrado una carpeta es ir dentro de ella para que pueda encontrar el archivo.<RET>
ambos se autocompletan y seleccionan. No tiene que presionar<tab>
para terminar de completar el nombre del archivo. Pero estamos discutiendo sobre las preferencias: solo quiero que "enter" signifique "seleccionar la cosa en el punto". Y para mí, eso no significa "abierto directo". Si estaba en una concha, espero un comportamiento diferente.Respuestas:
También he utilizado
ido-mode
una gran cantidad y entrenado a mi memoria muscular :) Creo que elido
estilo es más intuitivo que elhelm
enfoque. Busco cosas (escribiendo algunos caracteres) y me comprometo a buscar (presionarRET
), al igual que la barra de búsqueda / dirección de mi navegador web. Si la selección es un directorio, entro en este directorio y comienzo a buscar nuevamente en este directorio. Esto me parece natural, así que escribí un pequeño consejohelm-execute-persistent-action
para forzar esta mecánica.También he optimizado la
backspace
clave ligeramente. Si escribo algo y quiero hacer una corrección, presiono la tecla de retroceso. Esto eliminará un carácter. Si estoy al principio del directorio y presiono la tecla de retroceso nuevamente, navego un nivel hacia arriba. ¡Esto acelera la navegación dramáticamente!Para eliminar lo inútil
.
y..
al principio, puede agregarlo a lahelm-boring-file-regexp-list
variable de configuración.fuente
find-file
embargo, el enfoque de Helm es consistente con el stock . Y el.
y..
no es realmente inútil cuando de repente quieres abrir Dired en el directorio actual o principal. Y me parece queC-l
es más rápido que presionarbackspace
.(kbd "<return>")
? Parece un poco más limpio simplemente llamar a helm-execute-persistent-action directamente dentro de la nueva función.Symbol's value as variable is void: helm-find-files-map
. Cuando pongo(helm-mode 1)
después(require 'helm)
, no obtengo ese error, pero tampoco funciona. ¿Alguna idea de lo que me podría estar perdiendo? Aquí está mi init.el completo: pastebin.com/drFZsDxW La versión de Emacs es 24.4.1 (i686-pc-mingw32)define-key
, si prueboC-h k RET
el minibúfer find-file, todavía se muestrahelm-confirm-and-exit-minibuffer
como enlazado.No puedo comentar sobre la respuesta de Fu86 debido al representante, pero estoy retrocediendo (perdón si este no es el protocolo normal). Obtuve una función nula usando su respuesta debido a "helm-find-files-map". Me funcionó usar el mapa de teclas "helm-map" en su lugar. No hay conflictos hasta ahora y es el comportamiento que estaba buscando.
... (define-key helm-map (kbd "<return>") 'helm-execute-persistent-action) ...
fuente
No pude obtener la respuesta de @ Fu86 para trabajar, pero lo siguiente funcionó para mí:
ver también: /programming/27652371/how-can-i-change-emacs-helm-find-file-default-action-on-directory-to-be-go-insid
Editar
Mi solución funciona en helm-20141112.946 pero en helm-20160211.934 no funciona y la respuesta @ Fu86 es la solución
fuente