2009-09-07 9 views
3

Ceci a surgi lors de l'écriture d'un script pour vim.Recherche dans: normal vim commande misbehaves

Utilisation du bien documenté: commande 'normale':

:normal /abc 

ne recherche pas la chaîne abc . Au lieu de cela, la chaîne de recherche précédente est toujours active (c'est-à-dire mise en surbrillance, sautée avec n, etc.).
Encore plus étrange: le abc apparaît comme le nouveau motif de l'historique/(c'est-à-dire frappe/puis flèche vers le haut).

Comment se fait-il que le abc ne prenne pas la place de véritable modèle de recherche?

Répondre

5

Le fichier d'aide pour la commande :normal en effet bien documenté dit le texte suivant:

Si {commands} ne termine pas une commande, le dernier sera annulée comme si <Esc> ou <C-C> a été saisie.

Lorsque vous écrivez :,

:normal /abc 

vous essayez d'exécuter la commande inachevée. En effet, après avoir tapé "/abc" en mode insertion, vous devez également appuyer sur "Entrée" (c'est-à-dire <CR>). Cela ne se produit pas, mais selon le manuel, <Esc> est enfoncé.

Pour effectuer une recherche via les commandes, vous devez utiliser:.

:exec "/abc" 
Questions connexes