web-dev-qa-db-fra.com

Comment recherchez-vous dans l'historique des commandes de vim?

Je voudrais aussi avoir la recherche suivante dans Vim

(reverse-i-search)`': 

Entrez un mot de votre commande précédente et vous obtenez la commande complète.

Je connais l'outil d'histoire chronologique de Vim

q:

Cependant, ce n'est pas aussi utile que la recherche inversée.

Comment pouvez-vous avoir une recherche inversée similaire dans Vim comme dans le terminal?

Saisissez les premières lettres de votre commande précédente et appuyez sur la flèche <Haut> (ou Ctrl + p).

:set li<up>
:set lines=75

N'oubliez pas de vérifier l'option historique et de la définir sur une valeur suffisamment grande

:set history=1000
71
Mykola Golubyev

Tapez q: en mode normal pour ouvrir la fenêtre des commandes. Vous pouvez rechercher/modifier ici en utilisant les commandes vim régulières. Vous démarrez en mode Normal. Appuyez sur Enter pour exécuter une commande.

Cette approche vous permet de rechercher dans toute la commande et pas seulement au début de la ligne.

81
sumek

Voici les documents pour Historique de la ligne de commande de Vim , voir également cette partie des documents sur Historique de la ligne de commande de Vim qui couvre les raccourcis clavier dans l'historique. On dirait que vous pouvez dire :foo, puis appuyez sur la flèche vers le haut pour trouver la dernière commande commençant par foo.

11
Chas. Owens

Je le cherchais également (enfin après m'être demandé pourquoi il n'était pas intégré pendant un certain temps) et j'ai décidé que je ne pouvais pas résister à la création d'une implémentation, alors voici: https: // github. com/goldfeld/ctrlr.vim

Cela devrait fonctionner comme celui du Shell - eh bien, il manque encore quelques éléments de base (comme appuyer à nouveau sur ^ R pour passer au match suivant), mais tout ce que j'utilise est dans cette première version, et je prévois d'ajouter le reste dans les semaines à venir car j'ai le temps.

5
Vic Goldfeld

Outre q: en mode normal, vous pouvez utiliser Ctrl + F en mode ligne de commande pour ouvrir la fenêtre d'historique des commandes et utiliser des commandes de recherche normales comme/,?

4
elig