Cuando ejecuto #'helm-find-filesy muevo el punto a un directorio, presionar los <ret>resultados al abrir ese directorio en modo directo. Hay que presionar C-jpara ingresar a ese directorio en Helm.
Me gustaría que <RET>actuara como lo C-jhace aquí, pero no necesariamente en todas partes. Lo comprobé y estoy C-jobligado a hacerlo #'helm-maybe-exit-minibuffer, mientras <RET>que sí #'helm-execute-persistent-action. Enlazar <RET>a #'helm-maybe-exit-minibufferfunciona 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-modeuna gran cantidad y entrenado a mi memoria muscular :) Creo que elidoestilo es más intuitivo que elhelmenfoque. 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-actionpara forzar esta mecánica.También he optimizado la
backspaceclave 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-listvariable de configuración.fuente
find-fileembargo, 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-les 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 RETel minibúfer find-file, todavía se muestrahelm-confirm-and-exit-minibuffercomo 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