web-dev-qa-db-fra.com

Historique récente du fichier dans Vim?

J'aimerais accéder aux fichiers récents que j'avais ouverts puis fermés dans GVim. J'ouvre et ferme GVim fréquemment. J'aimerais également accéder aux fichiers récents des sessions précédentes. 

GVim stocke-t-il des fichiers récents quelque part dans Word et dans de nombreux autres magasins d'applications de bureau? Comment y accéder?

112
Mert Nuhoglu

Au moins terminal vim stocke les dix fichiers précédents dans ~/.viminfo dans la section Filemarks. Vous pouvez utiliser '0, '1, '2, ... '9 pour les parcourir. 

(Probablement utile que '0 revienne au dernier fichier que vous avez édité, à moins que votre mémoire ne soit plus puissante que la mienne.) 

Vous pouvez également utiliser la commande :browse oldfiles pour obtenir un menu avec des nombres.

194
sarnold

Le meilleur moyen que j'utilise est 

:browse oldfiles

Le moyen le plus simple sur vim.

47
and0rsk

Il y a mru.vim , qui ajoute la commande :MRU.

44
pmr

Réponse très tardive ici ... exposé sur @sarnolds answer - Vous pouvez afficher l'historique du fichier à l'aide de la commande oldfiles @see: h oldfiles ou: h viminfo

:oldfiles 

En outre, vous pouvez avoir une gestion de fichiers plus fine avec des vues et des sessions ... @see: h mkview et: h mksession pour plus de détails ... 

21
Eddie B

Il existe un couteau suisse de commutation de fichiers CtrlP plugin , qui fait également partie de janus distributive. Il a la commande :CtrlPMRU avec une recherche intelligente parmi les fichiers récemment utilisés.

Remarque:CtrlP conserve sa propre liste des fichiers les plus récemment utilisés dans g:ctrlp_cache_dir."mru/cache.txt". Il ne s'agit pas de réutiliser viminfo (set viminfo?) qui contient une liste de marques de fichiers. Ceci est utile si vous souhaitez effacer cette liste.

11
Alexey

Le CtrlP plugin vous permet de rechercher dans vos fichiers récemment utilisés ainsi que dans le répertoire en cours avec cette commande:

nnoremap <c-p> :CtrlPMixed<cr>

Cela vous évite d'avoir à gérer des commandes Vim intégrées et le plug-in MRU, qui ne vous permettent aucune des recherches floues, ce qui est essentiel lorsque vous travaillez sur des projets plus importants.

5
Andy Ray

Utilisez ": bro ol " puis appuyez sur le numéro correspondant au fichier que vous voulez ouvrir.

4
nenchev
4
thegeek

Comme indiqué dans les commentaires ici (http://stackoverflow.com/questions/571955/undo-close-tab-in-vim), votre fichier est probablement toujours ouvert dans un tampon: 

:ls " get the buffer number
:tabnew +Nbuf " where N is the buffer number

Par exemple, vous pouvez rouvrir le troisième tampon dans un nouvel onglet (utilisez plutôt: e si vous n'utilisez pas d'onglets):

:tabnew +3buf
2
user886333

:ls pour lister les fichiers récents avec le numéro de tampon dans la colonne de gauche.

Ensuite, faites :b{buffer-number} pour y aller.

Exemple: :ls affiche la liste des fichiers. Je veux aller au troisième dernier fichier que j'ai visité .:b3 m'y conduira.

Pour une recherche plus rapide, associez :ls à quelque chose, par exemple. <Leader>. dans votre fichier .vimrc.

1
Bryan Perez

Ajout de mes 2 cents ici parce que fzf n’était pas mentionné plus tôt, ce qui est un outil formidable:
fzf.vim a une commande :History qui vous permet de rechercher les fichiers les plus récemment utilisés de manière floue.
Je personnalise cela davantage en évitant que fzf réorganise la liste au mieux: je souhaite que l'ordre reste dans l'ordre d'utilisation de ces fichiers.
J'ai ajouté ce qui suit dans mon fichier .vimrc pour remplacer la commande par défaut History définie par le plug-in fzf.vim:

    command! -bang -nargs=* History
      \ call fzf#vim#history({'options': '--no-sort'})
0
Emile Vrijdags

Un autre plugin qui vous permet de choisir le fichier dans la liste des derniers modifiés est staritfy . Il remplace votre écran de démarrage par une liste des derniers fichiers modifiés. Vous pouvez toujours ouvrir cette page plus tard en utilisant la commande :Startify.

0
Krzysztof Adamski

Aussi, vous pouvez revenir avec ctrl+O.

0
user10982983

Vous pourrez peut-être accéder à la liste à partir de la ligne de commande avec:

grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'"$HOME"','

Explication:

grep '^>' ~/.viminfo  #find the list of recent files
cut -c3-              #remove the first 2 characters
sed 's,~,'"$HOME"','  #replace ~ with absolute path

Vous pourriez avoir un alias bash si vous l'utilisez régulièrement

alias vim_mru="grep '^>' ~/.viminfo|cut -c3-|sed 's,~,'\"$HOME\"','"
0
Alexx Roche