Como acessar arquivos usados ​​recentemente, escolhendo em uma lista?

8

Gostaria de pressionar a tecla para mostrar uma lista de arquivos usados ​​recentemente e escolher um para editar.

  • O que eu preciso para fornecer isso?

E relacionado,

  • Como gerencio o histórico de arquivos usados ​​recentemente para uso?
  • Isso deve suportar a exclusão de nomes de arquivos ou subdiretórios.
Volker Siegel
fonte
Você se importaria em expandir um pouco o que você quer dizer com "suporte excluindo ..."? Quer dizer que você gostaria de mostrar uma lista de todos os arquivos, exceto alguns correspondência um padrão, ou que você gostaria de excluir determinados arquivos de sempre aparecer na lista? (A última opção é o @ resposta de Muru com autocmdfaz, o primeiro parece que seria mais útil e possivelmente mais fácil de conseguir.)
Kyle Strand
@KyleStrand Eu estava pensando na primeira variante, excluindo um arquivo se o caminho corresponder a um de uma lista de padrões. Por exemplo, os padrões podem ser algo parecidos *.tmp,/tmp/*,/mnt/foo/*.
Volker Siegel

Respostas:

10

Você pode usar o :browsecomando para isso:

:browse oldfiles

Para um pressionamento de tecla, mapeie-o:

nnoremap <Leader>o :browse oldfiles<cr>

Em seguida, você pode pressionar Leader ono modo normal para visualizar uma lista de arquivos.

De :help v:oldfiles:

                                        v:oldfiles oldfiles-variable
v:oldfiles      List of file names that is loaded from the viminfo file on
                startup.  These are the files that Vim remembers marks for.
                The length of the List is limited by the ' argument of the
                'viminfo' option (default is 100).
                When the viminfo file is not used the List is empty.

Portanto, para limitar em, digamos, 50 arquivos, você pode definir viminfo:

set viminfo+='50

Não vejo uma maneira fácil de excluir arquivos disso, além de desativar o viminfouso de autocmd:

autocmd BufNew *.sh set viminfo=

Isso tem a enorme falha de desativar todo o histórico de qualquer sessão que envolva arquivos correspondentes.

muru
fonte
Esse é um recurso incrível que eu nunca tinha ouvido falar.
Kyle Strand
Será possível combinar o browsecomando com unitee / ou PipeCmdobter a filtragem que o OP gostaria?
Kyle Strand
@KyleStrand Eu também nunca usei, então não sei.
muru
4

Confira o recurso MRU do Ctrl-P . Depois de instalá-lo, digite :CtrlPMRUFilese ele abrirá um localizador nebuloso na parte inferior da tela pela qual você pode pesquisar nebulosamente.insira a descrição da imagem aqui

CharlesL
fonte