Quel est le moyen le plus simple de "sauter dans un fichier quelque part dans mon arbre source par nom"? Par exemple, si je travaille avec "libfoo" contenant Peut-être un moyen de le faire avec un fichier de balises? p>
[0]: c'est, libfoo / foo / foo.py code>, j'aimerais pouvoir passer à foo.py code> de n'importe où dans libfoo / ** code> [0]. p>
libfoo / code> et ses sous-répertoires. P>
7 Réponses :
Consultez Command-t , Fuzzyfinder ou FuzzyFinder_textmate P>
Personnellement, je trouve que Command-t a la meilleure interface utilisateur, mais Fuf_textmate est préférable pour vous rendre rapidement au bon endroit dans de très grands projets (c'est pourquoi je l'utilise après avoir essayé tous les 3) p>
Notez que FuzzyFinder_textmate est non resté par son auteur d'origine, vous devrez peut-être avoir à fouiller l'onglet Réseau GH pour trouver qui a la branche la plus à jour. Notez également que c'est un peu une douleur à installer. P>
J'utilise déjà FuzzyFinder_textmate déjà pour sa balise sautant ... mais c'est un peu ennuyeux d'utiliser fichier code> car, si je suis dans libfoo / bar / baz / code>, alors j'ai Pour taper \ f ../../../**/ foo.py code>.
Peut-être qu'il y a un moyen de la configurer afin de pouvoir utiliser un répertoire à la racine?
Pour autant que je sache, le Textmate Fuzzy Finder ne propose que des noms de fichiers et commencera toujours à l'endroit que vous avez ouvert VIM (qui peut réellement être une douleur parfois). Peut-être que vous utilisez FUZZY FINDER?
Euh, oui - peut-être que je suis juste à l'aide de FuzzyFinder.
La principale différence entre les deux est pour le FUF, vous devez traverser tout le chemin (c'est-à-dire à travers FUF_TM, il conviendra simplement par nom de fichier au lieu d'un chemin complet jusqu'à ce que vous commenciez à utiliser / s. alors FPY va le correspondre, mais si c'est trop général, vous pourriez faire FOO / FPY pour réduire votre recherche
CTRLP est un autre pour la liste. Semblable aux autres dans cette réponse, mais pure vimscript.
Ajouter ** code> est à vous Vim séparé par des virgules Vim PATH CODE> VARIABLE (NON SYSTÈME PATH) et si vous êtes dans un parent Dir du projet Utilisez: :find foo.py
Vous avez voté, Cause Recherche est définitivement plus simple, puis à installer et à configurer un plugin.
HRM, qui ne semble pas faire ce que je veux faire ce que je veux ... si mon CWD est libfoo / code>, trouver foo.py code> ne fonctionne pas. Éventuellement : trouver code> n'est pas récursif?
Qu'est-ce que: Set Path vous dit? Le mien est chemin =., ** , code>, lequel je pense est la valeur par défaut. Cela me recute définitivement pour moi. : Trouvez un mot de passe dans / trouver / etc / passwd.
En effet, on dirait que Set Chemin =., ** , code> est dans mon ~ / .viCrc, que j'ai enfreint de quelque part il y a 10 ans. Ajouter cela et : trouver code> est récursif.
Ah, il y a le problème: mon manquant code> est manquant ** code>. Etrange, bien que - je cours surtout un stock 7.2, et si ** code> est par défaut, alors je ne sais pas pourquoi je ne l'aurais pas (le mien est ., / USR / inclure , code>).
Par défaut est i> "., / Usr / include ," code> sur UNIX, comme indiqué sur : chemin d'aide code>
Je suppose que c'est la peine d'apporter la même chose, VIMRC pendant des années - vous oubliez les valeurs par défaut. Mise à jour de la réponse.
Vous pouvez utiliser l'onglet Vim achèvement des noms de fichiers en conjonces avec le E.g. Type: Pour plus d'informations sur le ** correspondant à Si vous avez déjà édité le fichier une fois que vous pouvez également rechercher les tampons de noms de nom partiel avec la commande ** code> de l'expansion de répertoire récursive. p>
: e libfoo / ** / foo.py code> et frappez l'onglet. Cela recherchera dans le répertoire Libfoo pour trouver un fichier correspondant. S'il y a plus d'une correspondance, vous pouvez les parcourir avec la touche TAB. Lorsque vous trouvez celui que vous voulez, appuyez sur Entrée pour terminer la commande et modifier le fichier. P>
: H Starstar code>. Il nécessite une version de VIM compilée avec l'option + path_extra. P>
: b code>. par exemple. : B FOO.PY : B FOO
upéted parce que c'est simple, comme demandé dans la question et utilise simplement une fonctionnalité Vim intégrée
map <S-F12> :execute "!start explorer \"" . expand( "%:p:h" ) . "\""<CR> starts up an explorer window in the directory of the file you are using
Désolé, je ne suis pas sûr de voir comment cela est pertinent pour la question ...
Vérifiez ceci: p>
https://github.com/zhchang/quick_file P>
Caractéristiques uniques: 1. Vous n'avez pas besoin de savoir où est-ce exactement, tant que c'est dans l'un des sous-Dir. 2. Vous n'avez pas à vous rappeler le nom complet, les fragments feront 3. Cela ira à la plupart des matchs peu profonds, mais avec plus de fragments du trajet fourni, il correspondra plus profondément. P>
chemin complet FUZZY Vous pouvez le trouver chez https://github.com/ctrlpvim/ctrlp.vim . P>
CTAGS --extra = f. code> strong> crée des balises avec le même nom que les fichiers pointant sur la première ligne: :tag file_na