Je cherche un moyen pour que Vim ait la possibilité d'ouvrir un fichier en effectuant une recherche floue sur son nom.
Fondamentalement, je veux pouvoir définir un projet une fois, puis avoir un raccourci qui me donnera un endroit pour taper un nom de fichier et qui correspondra si des lettres correspondent.
Ce type de fonctionnalité existe dans la plupart des éditeurs que j'ai vus, mais pour la vie de moi, je ne comprends pas comment faire pour que Vim le fasse.
Notez que je recherche quelque chose qui ne sera pas me demande d'avoir une idée de l'endroit où se trouve un fichier dans mon répertoire. Je veux juste pouvoir l'ouvrir par le nom de fichier, quel que soit le répertoire dans lequel il se trouve.
Merci
Il existe deux excellents plugins vim pour cela.
ctrlp :
+Ruby
support dans Vim7.3
MODIFIER:
J'utilise CtrlP avec ag comme Finder personnalisé et c'est incroyablement rapide (même sur des projets massifs) et très portable.
Un exemple d'utilisation de ag avec CtrlP :
if executable('ag')
" Use Ag over Grep
set grepprg=ag\ --nogroup\ --nocolor
" Use ag in CtrlP for listing files. Lightning fast and respects .gitignore
let g:ctrlp_user_command = 'ag %s -l --nocolor -g ""'
endif
CommandT pour Vim est très similaire à celui de TextMate. Mon flux de travail est maintenant
1) Ouvrez MacVim
2): cd ~/mon_projet
3) (J'ai ce mappage comme décrit dans l'aide à l'installation)
4) C-v le fichier pour ouvrir le fichier dans une division verticale, ou CR pour ouvrir une nouvelle division horizontale.
5) pour fermer le split, utilisez: bd (buffer delete)
6) pour passer à un autre tampon, j'ai installé BufferExplorer, alors il suffit de\be et de sélectionner
Ce flux de travail est comparable à TextMate, il faut un certain temps pour s'y habituer, et j'apprends toujours.
Qu'en est-il de http://www.vim.org/scripts/script.php?script_id=1984 Ensuite il y a http://github.com/jamis/fuzzy_file_Finder .
Voir également ces articles de blog: http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim et http://weblog.jamisbuck.org/2009/1/28/the-future-of-fuzzyfinder-textmate
HTH
Ajoutez simplement ceci à votre .vimrc
nnoremap <C-p> :find ./**/*
Appuyer sur Ctrl + p vous permettra désormais de trouver des fichiers flous dans votre répertoire de travail actuel et ses sous-répertoires. Utilisez la touche de tabulation pour parcourir les options.
Pour ceux qui veulent le garder basique, c'est-à-dire sans plugins, ce divertissant vidéo montre une autre façon de trouver des fichiers flous dans vim.
Ils utilisent réellement
set path+=**
set wildmenu
dans leur .vimrc pour rechercher des fichiers dans les sous-répertoires actuels.
Par exemple, avec :find *Murph
suivi de l'onglet, je trouverais les fichiers KilianMurphy2012Why.R et KilianMurphy2014ROLE.R dans le sous-répertoire code que je peux parcourir avec la touche de tabulation. La première solution ci-dessus présente l'avantage que le chemin relatif est également indiqué.
Notez que votre répertoire de travail actuel importera et que les autres fichiers sur votre chemin (:set path?
) sera également trouvé avec ce type de solution. L'option wildmenu
ajoute des informations visuelles et n'est pas essentielle.
Pour un raccourci clavier, ajoutez
nnoremap <C-p> :find *
à votre .vimrc. Vous pourrez maintenant rechercher rapidement des fichiers dans votre projet/répertoire actuel avec Ctrl + p en mode normal.