Veja uma lista de documentos recentes no Vim


130

Existe uma maneira de visualizar a lista de documentos recentes que você abriu no Vim? Sei que pude visualizar a lista de salto do cursor :jue, em seguida, ir para uma posição de cursor na lista, mas isso não é o ideal, pois haverá várias listagens do mesmo documento na lista. Existe outro comando que faria o que estou procurando?

Respostas:


200

Não use um plugin, a menos que queira um bom menu. Na documentação do Vim: Iniciando (ou :help old):

:ol[dfiles]

Então, para um aberto os arquivos listados, use: '0, '1, '2, ...'9


Liste os arquivos que possuem marcas armazenadas no viminfoarquivo.

:bro[wse] ol[dfiles][!]

Liste os nomes de arquivos como com :oldfilese solicite um número. Quando o número é válido, esse arquivo da lista é editado. Use !para abandonar um buffer modificado.


1
Obrigado pela sua resposta, mas quando visualizo a ajuda para Iniciar este comando não existe como no link fornecido. A tentativa de usar esse comando também gera o erro "Não é um comando do editor". Por que é isso?
Chris

1
Funciona para mim. @chris Você sabe que os bits dentro dos colchetes são opcionais, certo? ie ": bro ol" é uma abreviação de ": browse oldfiles"
Mr_Chimp

28
Para abrir um dos arquivos listados, use: '0,' 1, '2, ...' 9. (Eu tinha que ir a uma outra pergunta para encontrar essa resposta, então eu estou postando-lo aqui.)
Stew

3
@Stew link para essa pergunta? Aqueles não parecem funcionar para mim. [ATUALIZAÇÃO] na verdade funciona para mim :browse oldfiles- desculpe!
Aaron Gibralter

7
Você não precisa rolar até o final da lista de arquivos antigos para abrir um arquivo listado. Você pode se lembrar do número e pressione q para sair. Depois, no modo normal, pressione '0,' 1, '2, ... para abrir o arquivo. Costumo achar que pressionar q é mais rápido do que rolar para baixo.
James Lawson

28

O plug-in Utilizado Mais Recentemente (MRU) fornece um acesso fácil a uma lista de arquivos abertos / editados recentemente no Vim. Este plug-in armazena automaticamente os nomes dos arquivos quando você os abre / edita no Vim.

http://www.vim.org/scripts/script.php?script_id=521


2
Isso funciona bem. Acho que estou surpreso ao saber que um plugin é necessário.
chris

2
O pensamento interessante sobre o MRU, e não o comando interno, é que ele permite filtrar nomes de arquivos e conclusão de guias, em vez de lidar com uma lista gigante desajeitada todas as vezes.
Ben



2

plugin vim: minibufexpl pode ajudá-lo. a lista de arquivos aberta é exibida na parte superior ou inferior da tela:

insira a descrição da imagem aqui

no modo normal do vim, digite : b $ {bufid} para pular para o $ {bufid} _th buffer, por exemplo: type : b13 para pular para o 13º buffer, ie. ngx_mail_ssl_module.c.

besidies, você pode mapear algumas ligações convenientes no seu vimrc, como:

" ------------------------------- minibufexpl mappings -----------------------------------
"let g:miniBufExplSplitBelow=1
nnoremap <silent> <leader>bn :bn<cr>
nnoremap <silent> <leader>bp :bp<cr>
nnoremap <silent> <leader>bf :bf<cr>
nnoremap <silent> <leader>bl :bl<cr>
nnoremap <silent> <leader>bt :TMiniBufExplorer<cr>

Obtenha o plugin aqui: https://github.com/fholgado/minibufexpl.vim



2

Um bom plugin é https://github.com/Shougo/denite.nvim

Você pode ligar :Denite file_oldpara ter uma pesquisa difusa na lista de arquivos antigos. Em particular, apenas pressionar Enterabrirá novamente o último arquivo aberto. Atribuir um atalho para isso é útil:

nnoremap <leader>o :Denite<space>file_old<CR>

Isso economiza algumas teclas em comparação com :browse oldfiles, q, 1,Enter


0

A maneira mais fácil de acessar arquivos recentes é adicionar o seguinte ao arquivo .gvimrc:

let g:netrw_sort_by           = 'time'

let g:netrw_sort_direction    = 'r'

Essas linhas fazem com que o netrw classifique os arquivos modificados mais recentemente. Então simplesmente se chama: e. e seleciona o arquivo que se deseja.

Esta solução pressupõe que os arquivos sejam salvos em um diretório principal, especificado em .gvimrc. Por exemplo

cd ~/vim
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.