Je veux ouvrir un fichier dans Vim comme dans Eclipse en utilisant Ctrl+ Shift+ R, ou via le Ctrl+N option de remplissage automatique. Appelez un raccourci clavier, saisissez le nom / modèle de fichier et choisissez parmi tous les noms de fichiers correspondants.
Je sais l'ouvrir normalement comme:
:tabe <filepath>
:new <filepath>
:edit <filepath>
Le problème ici est que je dois spécifier le chemin complet du fichier dans ces cas.
vim
keyboard-shortcuts
Techmaddy
la source
la source
:tabe
ouvriront le fichier dans un nouvel onglet,:new
diviseront horizontalement la fenêtre et:edit
fermeront le fichier actuel avant d'ouvrir le nouveau.Réponses:
Je suis récemment tombé amoureux de fuzzyfinder.vim ... :-)
: FuzzyFinderFile vous permettra d'ouvrir des fichiers en tapant des noms partiels ou des modèles.
la source
Ce que je fais normalement, c'est
e .
(e-space-dot) qui me donne un répertoire courant navigable - alors je peux/
- rechercher des fragments de nom, tout comme trouver un mot dans un fichier texte. Je trouve cela généralement assez bon, simple et rapide.la source
:e.
).:e.
et:E
cependant: si le fichier actuel a été édité et pas encore sauvegardé, le premier se plaindra (comme:edit
) à cause de "pas d'écriture depuis le dernier changement", tandis que le second divisera horizontalement la fenêtre (comme:new
) pour permettre l'ouverture d'un nouveau fichier (alors que les deux remplaceront le fichier actuel par le nouveau fichier s'il n'a pas été modifié (like:edit
)).:find
est une autre option.J'ouvre vim à partir de la racine de mon projet et j'ai le
path
ensemble.Ensuite, je peux ouvrir des fichiers situés n'importe où dans l'arborescence en utilisant:
Tab se complétera automatiquement à travers diverses correspondances. (lui
**
dit de rechercher récursivement dans le chemin).la source
:find
car pour obtenir le chemin relatif au répertoire de travail. Voir la question et la réponse @romainl ici: stackoverflow.com/questions/28224168/… . Je trouve la réponse @strager plus intéressante pour obtenir plus facilement le chemin relatif au répertoire de travail.Vous pouvez rechercher un fichier dans le chemin actuel en utilisant
**
:Appuyez sur l'onglet pour voir diverses complétions s'il y a plus d'une correspondance.
la source
:tabe **/*der.h
si vous ne vous souvenez pas du nom complet du fichier.Pensez à utiliser le plug-in CtrlP .
Il est inclus dans Janus Distributive .
Vous permet de rechercher des fichiers dans le répertoire courant, des tampons ouverts ou les fichiers les plus récemment utilisés en utilisant la «correspondance floue» ou l'expression régulière.
la source
sauf si je manque quelque chose,: le nom de fichier est le moyen le plus rapide que j'ai trouvé.
Vous pouvez également utiliser tab pour compléter automatiquement le nom de fichier.
la source
J'aime le: FuzzyFinderTextMate (ou Ctrl+ F) sur ma configuration. Voir http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim
la source
J'utilise quelques raccourcis dans mon fichier .vimrc (syntaxe exacte ci-dessous).
Ils sont basés sur le fait que dans 90% des cas, je souhaite ouvrir un autre fichier dans le même répertoire que le fichier que je suis en train de modifier, ou dans un répertoire qui est très proche dans la hiérarchie de ce fichier édité.
Voici ce que font les commandes:
,cd
: Remplacez le répertoire de travail actuel par le répertoire dans lequel se trouve le fichier en cours d'édition.,e
: Ouvre un fichier avec le répertoire de travail actuel déjà rempli, vous ne devez donc spécifier que le nom du fichier.Mettez-les dans votre .vimrc:
Voici une séquence d'événements:
,cd
-> Le répertoire de travail actuel devient "/ home / prog",e
-> Se développe en ": e / home / prog" pour que vous puissiez simplement remplir le nom du fichier, dites test.h.,e
-> S'étend à ": e / home"tab
-> Parcourir les sous-répertoires de / homeenter
->cd
dans le répertoire que vous voulez dire / home / prog,e
-> S'étend à ": e / home / prog"la source
Il y a aussi command-t que je trouve être le meilleur du groupe (et je les ai tous essayés). C'est un peu compliqué de l'installer mais, une fois installé, c'est un rêve à utiliser.
https://wincent.com/products/command-t/
la source
Utilisez les onglets, ils fonctionnent lors de la saisie des chemins de fichiers en mode d'échappement vim!
la source
Si vous avez des balises (et vous devriez), vous pouvez ouvrir un fichier à partir de la ligne de commande juste par le nom de la classe ou de la méthode ou de la fonction c, avec "vim -t DBPlaylist", et dans vim avec ": tag ShowList ".
la source
Si vous modifiez des fichiers dans un répertoire commun, vous pouvez accéder
:cd
à ce répertoire, puis utiliser:e
uniquement le nom de fichier.Par exemple, plutôt que:
Tu peux faire:
Ou, si vous avez déjà un fichier dans le répertoire souhaité ouvert, vous pouvez utiliser le
%
raccourci pour le nom de fichier actuel, et le couper dans le répertoire actuel avec le:h
modificateur (:help :_%:
):Et, comme d'autres l'ont dit, vous pouvez compléter les noms de fichiers par tabulation sur l'ex-ligne (voir
:help cmdline-completion
pour plus d'informations).la source
Ce n'est pas exactement ce que vous recherchez, mais c'est bien dans de nombreux cas (mais pas tous).
Si vous ouvrez VIM et qu'il y a un nom de fichier dans le tampon, vous pouvez placer le curseur sur ce nom et ce type de fichier gf. Cela ouvre le fichier dont le nom est sous le curseur dans le même tampon. C'est la même chose que
:e CTRL+r CTRL+w
la source
:b oldname
Je connais trois plugins qui permettent d'ouvrir des fichiers, prennent en charge l'auto-complétion et ne nécessitent pas d'entrer le nom de chemin complet du ou des fichiers à ouvrir (tant que les fichiers sont sous l'un des répertoires de l'
&path
option vim) ::e
/:find
, mais sur des actions fractionnées)Dernièrement, j'ai vu un autre plugin avec une fonctionnalité similaire, mais je ne me souviens pas du nom.
Bientôt, il est probable que find supporte l'auto-complétion - des correctifs sur ce sujet circulent sur la liste de diffusion vim_dev ces jours-ci.
la source
p*.dat
ou quelque chose comme ça (comme dans l'ancien 'dos)vous pouvez aussi: parcourir confirmer e (pour une fenêtre graphique)
mais vous devriez aussi probablement spécifier la version de vim que vous utilisez et comment cela fonctionne dans emacs. Peut-être que nous pourrions vous trouver une alternative exacte à vim.
la source
FuzzyFinder a été mentionné, mais j'aime le comportement de textmate de FuzzyFinderTextmate plugin qui étend le comportement pour inclure tous les sous-répertoires.
Assurez-vous que vous utilisez la version 2.16 de fuzzyfinder.vim - Les versions supérieures cassent le plugin.
la source
Avec Exuberant ctags, vous pouvez créer des fichiers de balises avec des informations sur les fichiers:
Ensuite, ouvrez le fichier à partir de VIM avec
Vous pouvez également utiliser
<tab>
pour compléter automatiquement le nom de fichier.la source
Dans GVIM, le fichier peut être parcouru en utilisant la boîte de dialogue ouvrir / lire / écrire;
{command} - ouvrir / lire / écrire
open - Ouvre le fichier lu - Ajoute l' écriture du fichier - Boîte de dialogue Enregistrer sous
la source
J'ai installé FuzzyFinder. Cependant, la limitation est qu'il ne trouve que les fichiers dans le répertoire actuel. Une solution de contournement consiste à ajouter FuzzyFinderTextmate. Cependant, d'après les documents et les commentaires, cela ne fonctionne pas de manière fiable. Vous avez besoin de la bonne version de FuzzyFinder et vous avez besoin que votre copie de Vim soit compilée avec le support Ruby.
Une solution de contournement différente que j'essaie maintenant est d'ouvrir tous les fichiers dont je suis susceptible d'avoir besoin au début de la session d'édition. Par exemple, ouvrez tous les fichiers dans les répertoires clés ...
(Cela signifie que j'aurais peut-être des dizaines de fichiers ouverts, mais jusqu'à présent, cela semble toujours fonctionner correctement.)
Après cela, je peux utiliser FuzzyFinder en mode tampon et cela agira un peu comme le
command-o
raccourci de TextMate ...la source