Visualizar arquivos rapidamente


8

Semelhante a esta pergunta , eu gostaria que um modo de ferramenta / menor visse rapidamente meus arquivos apenas com o cursor posicionado sobre eles (por exemplo, o arquivo atualmente selecionado é exibido na janela do buffer ativo). Não me importo com eventos deprimentes e não quero uma sobreposição. Se estiver selecionado, quero que seja exibido na janela ativa. Pressionar enter e alternar para o buffer é muito lento para percorrer vários arquivos de dados brutos. Como eu pude fazer isso?


Para os usuários que usam o OSX, existe um aplicativo nativo chamado qlmanageque pode ser usado para exibir o conteúdo do arquivo ou pdf ou imagem. Outro participante do fórum escreveu uma função para excluir processos subseqüentes ao visualizar vários itens (um após o outro) com o referido aplicativo. Aqui está o link para o thread relevante: stackoverflow.com/questions/20023458/… Atualmente, eu o configurei para poder usar a tecla de seta para cima ou para baixo em um modo de gerenciador de arquivos e qlmanageexibir o conteúdo do arquivo no momento.
lawlist

Respostas:


4

Esta questão StackOverflow é a mesma que a sua. E a resposta aceita pelo OP é boa. Existem outras boas respostas também.

Da mesma forma, essa pergunta para help-gnu-emacs@gnu.org também é essencialmente a mesma.

Minha resposta para as duas perguntas é usar Sincelos e definir este comando:

    (defun my-find-file ()
      "Como` icicle-find-file ', mas a ação alt visualiza o arquivo temporariamente.
    Chaves de ação alternativas, como `CS-down ', visitam o arquivo candidato em
    `view-mode 'e mate o buffer do último candidato visualizado".
      (interativo)
      (deixe ((candidato sincelo-alt-ação-fn
             (lambda (arquivo)
               (quando (e minha última visualização)
                          (obter-arquivo-buffer minha última visualização)
                 (kill-buffer (obter-arquivo-buffer minha última visualização)))
               (setq minha última visualização (arquivo abreviado-nome-do-arquivo))
               (arquivo de visualização de arquivo)
               (selecionar quadro definir conjunto de entrada e foco
                  (quadro da janela (janela do minibuffer ativo))))))
        (icicle-find-file-of-content)))

    (defvar minha última visualização nula
      "Último arquivo visualizado por ação alternativa de` my-find-file '. ")

Então você pode:

  1. Use M-x my-find-file(ou ligue-o a uma chave - por exemplo, C-x C-f).
  2. Como opção, digite parte do nome do arquivo para limitar os nomes correspondentes.
  3. Opcionalmente, use downou uppara alternar entre nomes de arquivos.
  4. Use C-S-downpara visitar o próximo arquivo em ordem.
  5. Repita o item 4 para ver outros arquivos em ordem.
  6. Repita # 2 ou # 3 para ver outros conjuntos de arquivos.
  7. Termine com RETpara escolher um arquivo para visitar ou C-gcancelar.

Veja as postagens vinculadas para obter mais informações.


1
Sei que é seu direito escolher seu modelo de desenvolvimento. Como usuário, eu gostaria que estivesse no github ou em algum repositório git, e não no emacswiki. Você não precisa me responder, apenas escrevendo aqui para saber o que eu sinto. A propósito, obrigado por seus longos esforços contínuos em ajudar os usuários do emacs.
Kindahero # 23/14

@kindahero: FWIW, todas as minhas bibliotecas também estão no [MELPA] (www.melpa.org).
Drew

12

Descobri que essa funcionalidade já está embutida no Helm . Para usá-lo, use as setas para cima e para baixo e pressione C-up / C-down.


1
Obrigado por mencionar isso. Sempre há algo mais simples e incrível para aprender sobre o Helm!
blujay

Lembro que isso costumava funcionar em um ponto, mas tentei recentemente e recebi a mensagem de erro "Helm-follow-mode allowed only on images, disabling". Tentei remover o bit que verifica isso, e o modo de acompanhamento de leme ainda parece funcionar com arquivos comuns, embora seja um pouco lento para abrir cada arquivo. Alguém sabe por que eles mudaram esse comportamento?
0x5453
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.