Vista previa rápida de archivos


8

Similar a esta pregunta , me gustaría una herramienta / modo menor para obtener una vista previa rápida de mis archivos simplemente colocando el cursor sobre ellos (por ejemplo, el archivo seleccionado actualmente se muestra en la ventana del búfer activo). No me importan los eventos deprimentes y no quiero una superposición. Si está seleccionado, quiero que se muestre en la ventana activa. Al presionar Intro y cambiar al búfer es demasiado lento para examinar un montón de archivos de datos sin procesar. ¿Cómo podría hacer esto?


Para aquellos usuarios que usan OSX, hay una aplicación nativa llamada qlmanageque se puede usar para mostrar el contenido del archivo o pdf o imagen. Otro participante del foro ha escrito una función para eliminar procesos posteriores al ver varios elementos (uno tras otro) con dicha aplicación. Aquí está el enlace al hilo relevante: stackoverflow.com/questions/20023458/… Actualmente lo tengo configurado para que pueda usar la tecla de flecha hacia arriba o hacia abajo en un modo de administrador de archivos y qlmanagemuestra el contenido del archivo en el punto.
ley

Respuestas:


4

Esta pregunta de StackOverflow es la misma que la tuya. Y la respuesta aceptada por el OP es buena. Hay otras buenas respuestas allí, también.

Del mismo modo, esta pregunta a help-gnu-emacs@gnu.org es esencialmente la misma también.

Mi propia respuesta a ambas preguntas es usar Icicles y definir este comando:

    (defun my-find-file ()
      "Como 'icicle-find-file', pero la acción alternativa visualiza el archivo temporalmente.
    Las teclas de acción alternativas como 'CS-down' visitan el archivo candidato en
    'view-mode' y elimina el búfer del último candidato visto ".
      (interactivo)
      (let ((icicle-candidato-alt-action-fn
             (lambda (archivo)
               (cuando (y mi-última-vista
                          (get-file-buffer my-last-seen))
                 (kill-buffer (get-file-buffer my-last-seen)))
               (setq mi-última-vista (archivo abreviado-nombre-archivo))
               (ver archivo de archivo)
               (select-frame-set-input-focus
                  (marco de ventana (active-minibuffer-window))))))
        (icicle-find-file-of-content)))

    (defvar mi último visto nulo
      "Último archivo visto por acción alternativa de 'my-find-file'.")

Entonces tú puedes:

  1. Usar M-x my-find-file(o vincularlo a una tecla, por ejemplo, C-x C-f).
  2. Opcionalmente, escriba parte del nombre de un archivo para limitar los nombres coincidentes.
  3. Opcionalmente use downo uppara alternar entre los nombres de archivo.
  4. Use C-S-downpara visitar el siguiente archivo en orden.
  5. Repita el # 4 para ver otros archivos en orden.
  6. Repita # 2 o # 3 para ver otros conjuntos de archivos.
  7. Termine con RETpara elegir un archivo para visitar o C-gcancelar.

Vea las publicaciones vinculadas para más información.


1
Sé que es tu derecho elegir tu modelo de desarrollo. Como usuario, me gustaría que estuviera en github o en algún repositorio de git en lugar de emacswiki. No necesita responderme, solo escriba aquí para hacerle saber lo que siento. Gracias por cierto, por sus esfuerzos continuos para ayudar a los usuarios de emacs.
kindahero

@kindahero: FWIW, todas mis bibliotecas también están en [MELPA] (www.melpa.org).
Dibujó el

12

Descubrí que esta funcionalidad ya está integrada en Helm . Para usarlo, use las flechas hacia arriba y hacia abajo y presione C-arriba / C-abajo.


1
Gracias por mencionar esto. ¡Siempre hay algo más simple pero sorprendente que aprender sobre Helm!
Blujay

Recuerdo que esto solía funcionar en un momento, pero lo probé recientemente y recibí el mensaje de error "Helm-follow-mode allowed only on images, disabling". Intenté eliminar el bit que verifica eso, y parece que helm-follow-mode todavía funciona con archivos normales, aunque es un poco lento para abrir cada archivo. ¿Alguien sabe por qué cambiaron este comportamiento?
0x5453
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.