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?
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.
Le meilleur moyen que j'utilise est
:browse oldfiles
Le moyen le plus simple sur vim.
Il y a mru.vim , qui ajoute la commande :MRU
.
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 ...
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.
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.
Utilisez ": bro ol " puis appuyez sur le numéro correspondant au fichier que vous voulez ouvrir.
MRU a beaucoup de fonctionnalités comme expliqué ici: http://www.thegeekstuff.com/2009/08/vim-editor-how-to-setup-most-recently-used-documents-features-using-mru-plugin/
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
: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.
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'})
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
.
Aussi, vous pouvez revenir avec ctrl+O.
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\"','"