Estoy tratando de usar el modo Ido. Algunas veces es agradable, pero otras veces es extremadamente estúpido. Aquí está mi mayor decepción.
Leo un registro con los nombres completos de los archivos, luego copio un nombre, intento abrir ese archivo.
La forma de hacer esto sin Ido: C-aC-yC-kRET
Con Ido hay dos problemas principales:
Si tengo el nombre completo del archivo, no hay forma de ingresarlo (debo eliminar la primera barra inclinada, de lo contrario, incluso presionar //no ayudará.
No puedo editar partes intermedias del nombre del archivo, dejando el resto sin modificar.
O puedo?
find-file
conC-x C-f
y pegar normalmente. Pero entonces, eso es más pulsaciones de teclas. O puede usar Helm si desea una función ricafind-file
y aún así satisfacer su caso de uso.C-x C-f
alternativa útil muchas veces!Respuestas:
Mientras un
ido
comando está activo (ido-find-file
en este caso), puede volver a la versión no ido del mismo comando (find-file
en este caso) utilizando el enlace ido-predeterminadoC-x C-f
paraido-fallback-command
.Para responder tu pregunta,
C-x C-f
lo llamaráido-find-file
.C-x C-f
volverá afind-file
.C-a C-y C-k
RETlo que suele hacer para tirar de una ruta de archivo copiada al minibúfer.Nota: En
ido
,C-x C-f C-x C-f
hará lo mismo queC-x C-f C-f
, es decir, retrocederá afind-file
.Acerca
C-f
deido
Aido-mode
,C-f
está obligado aido-magic-forward-char
. Deido.el
,fuente
C-f
para volverfind-file
, noC-x C-f
. No veo que lo haya personalizado (y yo, como otros aquí, confío mucho en el respaldo.ido
Es casi tanto problema como vale, después de usarlo durante un tiempo).C-x C-f C-f
también funciona.Dado que está tratando con nombres de ruta completos, otros métodos pueden funcionar:
M-x ffap
(find-file-at-point
): leerá automáticamente el nombre de la ruta y abrirá el archivoM-x compilation-shell-minor-mode
lo que cambiará la fuente de los caminos y los hará "clicables" (con la boca oRET
). Al hacer clic en él, se accede a ese archivo y a la línea específica, y puede usarnext-error
yprevious-error
navegar. A menudo lo uso, como en modo shell .fuente
Como siempre hay más de una forma de hacerlo, aquí hay una variación de la idea de @ abo-abo que mantiene activa la finalización de id en lugar de recurrir al comando de búsqueda normal.
Con este enlace:
Si la eliminación actual es una ruta de directorio válida, puede comenzar
ido-find-file
, presionarC-y
para saltar al directorio eliminado, y luego continuar usando ido para elegir un archivo.Si la eliminación actual es una ruta de archivo válida, puede iniciar
ido-find-file
, pulsarC-y
para saltar al directorio eliminado y ofrecer el nombre del archivo eliminado como finalización, y pulsar RET para abrir ese archivo.Si la muerte actual es otra cosa, se tira normalmente.
fuente
let
vincular las diversasido-...
variables en lugar desetq
ellas? En este momento, parece que está estableciendo valores de forma permanente en lugar de hacerlo durante la vida útil de la función.ido-next-work-directory
. Creo que las variables se configuran para que sobrevivan a través de la llamada del minibúfer de salida y la actualización posterior. ¡Pero todavía no entiendo completamente a los idólatras internos!Tal vez así:
Si el kill actual es un archivo que existe, C-y C-y probablemente debería darte lo que quieres.
fuente