J'ai commencé à apprendre la recherche de mots Vim en utilisant *
et #
pendant que le curseur se trouve sur le mot courant. Mais cette recherche est limitée au tampon de fichiers actuel.
Existe-t-il une commande ou un raccourci pour étendre cette recherche à:
- tous les onglets ouverts?
- tous les tampons ouverts?
Réponses:
Je n'ai pas de solution exacte à votre problème, j'espère qu'une meilleure réponse que la mienne viendra. Mais c'est ainsi que j'ai abordé le problème de trouver un mot dans tous les tampons.
La première ligne crée une commande
Search
avec le motif de recherche comme argument, qui écrit les résultats dans une liste de correctifs. Les deux autres lignes mappent les touches fléchées inutiles (du moins pour moi) à quelque chose d'utile; ils sont mappés pour passer à la recherche suivante / précédente ou à l'erreur de compilation suivante / précédente, etc., ils parcourent simplement la liste des correctifs. Vous pouvez l'utiliser comme suit:la source
:cn
ou:cp
pour passer au document suivant.Il s'agit en fait du comportement par défaut, même s'il peut être difficile à remarquer: essayez de
*
passer à un autre onglet et utilisezn
ansN
en mode commande pour sauter en avant et en arrière entre les résultats de recherche.Cela peut avoir plus de sens si vous activez d'abord la mise en surbrillance pour tous les hits:
la source
hlsearch
cela je ne savais pas, et que j'aurais cherché un jour ou l'autre :-). Cependant, par défaut, j'ai essayé * #, n et N, et il ne passe pas aux autres tampons de fichiers ...n
etN
ne sautez pas les tampons (ils s'enroulent), mais le terme qu'ils ciblent est recherché dans tous les onglets; a frappé*
avec la surbrillance sur le cycle , puis à travers vos onglets - ils seront tous mis en évidence par le même terme, de sorte que vous pouvez utilisern
etN
il localement sans une recherche frais.hlsearch
.la source
Comme je me suis souvent retrouvé à faire cela, j'ai mélangé un script (améliorable).
Vous ou quelqu'un d'autre pourriez trouver cela utile.
Brève explication:
Fondamentalement, il recherche la liste des tampons et affiche le résultat dans la fenêtre de correction rapide.
Deux commandes de base sont ajoutées.
Search <pattern>
: Recherche tous les tampons<pattern>
.Search1 <pattern>
: Recherche tous les tampons<pattern>
, mais n'affiche que le premier résultat pour chaque tampon. Généralement utile pour répertorier tous les tampons où la fonction, la variablefoo
est utilisée (ou quoi que ce soit).Utilisez bang (
:Search! foo
) pour ajouter aux résultats.De plus
GSearch
etGSearch1
est ajouté là où la différence est qu'avecSearch
le script, ajoutez un délimiteur d'expression régulière, par exemple:Où, comme
GSearch
prévu, il doit être enfermé.Le
j
drapeau est toujours ajouté pour empêcher le saut.Code:
Il existe des hacks pour empêcher la liste des erreurs tout en gardant le code court.
try / catch
était un peu encombrantbufdo
.la source