Raccourci pour ouvrir le fichier dans Vim
Je veux ouvrir un fichier avec Vim comme dans Eclipse à l'aide de Ctrl + Maj + R, ou par l'intermédiaire de l' Ctrl + N option de remplissage automatique. Invoquer un raccourci clavier, tapez le nom de fichier/modèle, et choisissez parmi tous les noms de fichiers.
Je sais l'ouvrir normalement comme:
:tabe <filepath>
:new <filepath>
:edit <filepath>
Le problème ici c'est que je dois spécifier l'intégralité du chemin d'accès au fichier dans ces cas.
- La Crème fait comte?
- Note que les propositions de commandes ont un effet différent
:tabe
d'ouvrir le fichier dans un nouvel onglet,:new
sera partagé horizontalement la fenêtre, et:edit
va fermer le fichier en cours avant l'ouverture de la nouvelle.
Vous devez vous connecter pour publier un commentaire.
J'ai récemment tombé en amour avec fuzzyfinder.vim
... 🙂
:FuzzyFinderFile vous permettra d'ouvrir les fichiers en tapant une partie du nom ou de motifs.
Ce que j'ai l'habitude de faire est de
e .
(e-space-dot), ce qui me donne un navigables répertoire courant, puis je peux/
- recherche de nom de fragments, comme trouver un mot dans un fichier texte. Je trouve que généralement assez bon, simple et rapide.:e.
).:e.
et:E
cependant : si le fichier a été modifié et n'est pas enregistré et pourtant, l'ancien va se plaindre (comme:edit
) à cause de "pas d'écrire depuis le dernier changement", tandis que le second sera partagé horizontalement la fenêtre (comme:new
) pour autoriser l'ouverture d'un nouveau fichier (bien que les deux vont remplacer le fichier actuel par le nouveau fichier s'il n'a pas été modifiée (comme:edit
)).:find
est une autre option.- Je ouvrir vim à partir de la racine de mon projet et ont la
path
mis à là.Alors, je peux ouvrir les fichiers situés n'importe où dans l'arborescence à l'aide:
Onglet de saisie semi-automatique par le biais de différentes rencontres. (
**
dit qu'il recherche de manière récursive par le chemin).:find
puisque pour obtenir le chemin relatif au répertoire de travail. Voir la question et @romainl réponse ici: stackoverflow.com/questions/28224168/... . Je trouve plus intéressant @strager réponse pour obtenir le chemin relatif au répertoire de travail plus facile.Vous pouvez rechercher un fichier dans le chemin d'accès actuel en utilisant
**
:De cliquer sur l'onglet pour voir les différents achèvements si il n'y a plus d'un match.
:tabe **/*der.h
si vous ne vous rappelez pas le nom complet du fichier.Envisager d'utiliser CtrlP plug-in.
Il est inclus dans Janus Distributive.
Vous permet de rechercher des fichiers dans le répertoire courant, ouvrir des tampons ou des fichiers les plus récemment utilisés à l'aide de "fuzzy matching" ou de l'expression régulière.
à moins que je me manque quelque chose, :e nom de fichier est le moyen le plus rapide que j'ai trouvé.
Vous pouvez utiliser l'onglet de saisie semi-automatique du nom de fichier en tant que bien.
:e
un raccourci pour:edit
?J'aime l' :FuzzyFinderTextMate (ou Ctrl + F) sur mon installation.
Voir http://weblog.jamisbuck.org/2008/10/10/coming-home-to-vim
Je utiliser un couple de raccourcis dans mon .fichiers vimrc (syntaxe exacte ci-dessous).
Ils sont basés sur le fait que, dans 90% des cas, je veux ouvrir un autre fichier dans le même répertoire que le fichier que je suis en train d'éditer, ou dans un répertoire qui est très proche dans la hiérarchie pour que le fichier édité.
Voici ce que les commandes faire:
,cd
: Changer le répertoire de travail courant vers le répertoire que le fichier en cours d'édition à l'est.,e
: Ouvre un fichier avec le répertoire de travail courant déjà rempli, donc vous devez spécifier seulement le nom de fichier.Mettez le tout dans votre .vimrc:
Voici une séquence d'événements:
,cd
-> répertoire de travail Courant maintenantdevient "/home/prog"
,e
-> Étend à ":e /maison/prog" doncque vous pouvez simplement remplir le fichier
nom, dire test.h.
,e
-> Étend à ":e /home"tab
-> Cycle dans les sous-répertoires de /homeenter
->cd
dans le répertoire que vousveux dire /home/prog
,e
-> Étend à ":e /maison/prog"Il y a aussi la commande-t, que je trouve être le meilleur du groupe (et je les ai tous essayés). C'est un mineur compliqué à installer, mais une fois qu'il est installé, c'est un rêve à utiliser.
https://wincent.com/products/command-t/
Utilisez les onglets, ils travaillent lors de la saisie de chemins de fichier dans vim échapper à la mode!
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".
Si vous êtes à la modification de fichiers dans un répertoire commun, vous pouvez
:cd
à ce répertoire, puis utilisez:e
sur le nom de fichier.Par exemple, au lieu de:
Que vous pouvez faire:
Ou, si vous disposez déjà d'un fichier dans le répertoire souhaité ouvrir, vous pouvez utiliser le
%
d'abréviation pour le nom de fichier courant, et couper le répertoire courant avec le:h
modificateur (:help :_%:
) :Et, comme d'autres l'ont dit, vous pouvez l'onglet complète des noms de fichier sur l'ex-ligne (voir
:help cmdline-completion
pour plus de détails).Ce n'est pas exactement ce que vous cherchez, mais il est utile dans de nombreux cas (mais pas tous).
Si vous VIM ouverte et il y a un nom d'un fichier dans la mémoire tampon, vous pouvez placer le curseur sur le nom du fichier et le type gf. Cela ouvre le fichier dont le nom est sous le curseur dans le même tampon. C'est le même que
:e CTRL+r CTRL+w
:b oldname
Je connais trois plugins qui permettent d'ouvrir des fichiers, support d'auto-complétion, et ne nécessitent pas d'entrer le nom de chemin complet du fichier(s) à ouvrir (tant que les fichiers sont sous l'un des répertoires de
&path
vim option)::e
/:find
, mais d'un fractionnement d'actions)Dernièrement, j'ai vu un autre plugin avec une fonctionnalité similaire, mais je ne me souviens pas le nom.
Bientôt :trouver est de soutenir l'auto-complétion -- patchs sur ce sujet circulent sur vim_dev la liste de diffusion de ces jours.
p*.dat
ou quelque chose comme ça (comme dans les vieux dos)vous pourriez aussi :parcourir confirmer e (pour une fenêtre graphique)
mais vous devriez probablement aussi préciser ce que vim version que vous utilisez, et quelle que chose dans emacs fonctionne. On pourrait peut-être vous trouver une exacte vim alternative.
FuzzyFinder a été mentionné, mais j'adore le textmate comme le comportement de la FuzzyFinderTextmate plugin qui s'étend le comportement d'inclure tous les sous-dossiers.
Assurez-vous que vous utilisez la version 2.16 fuzzyfinder.vim - Les versions supérieures à briser le plugin.
J'ai installé FuzzyFinder. Toutefois, la limitation est qu'il ne trouve que des fichiers dans le répertoire courant. Une solution de contournement qui consiste à ajouter FuzzyFinderTextmate. Toutefois, en se fondant sur la documentation et les commentaires, cela ne fonctionne pas de manière fiable. Vous avez besoin de la bonne version de FuzzyFinder et vous avez besoin de votre copie de Vim pour être compilé avec la prise en charge de Ruby.
Une solution à ce problème je suis en train de maintenant est d'ouvrir tous les fichiers que je suis susceptible de besoin au début de la session d'édition. E. g., ouvrez tous les fichiers dans les répertoires de clés...
(Ce qui signifie que j'aurais éventuellement des dizaines de fichiers ouverts, cependant jusqu'à présent, il semble fonctionner OK.)
Après, je peux utiliser FuzzyFinder dans le mode tampon et il va agir un peu comme TextMate est
command-o
raccourci...Avec Exuberant ctags, vous pouvez créer des fichiers de balises avec des informations sur le fichier:
Ensuite, ouvrir le fichier VIM avec
Vous pouvez également utiliser
<tab>
à la saisie semi-automatique de nom de fichier.Dans GVIM, Le fichier peut être consulté à l'aide de open /read /write dialogue;
{commande} - ouvrir /lire /écrire
ouvrir - Ouvre le fichier
lire - Ajoute le fichier
écrire - boîte de dialogue enregistrer sous