2010-03-02 4 views
4

Supposons que mon écran de terminal ait une hauteur de 40 lignes. Supposons que je tape "clear"; Supposons la sortie si git grep est seulement 1- lignes.Comment afficher git grep en haut au lieu du bas de l'écran du terminal?

Maintenant, la sortie désirée est que les 10 premières lignes de ma console soient la sortie de git grep. À la place, git grep remplit un tas de lignes vides et rend ma sortie en bas dix lignes de l'écran la sortie de git grep.

Comment puis-je résoudre ce problème?

Répondre

6

Etes-vous à la recherche d'un moyen pour que git grep ne montre pas sa sortie via un pager? Essayez:

GIT_PAGER='' git grep ... 

git grep envoie sa sortie par un téléavertisseur, que vous pouvez désactiver en réglant la variable d'environnement GIT_PAGER. Je pense que ce que vous voyez est votre téléavertisseur affichant le texte au bas de l'écran plutôt que git. Si ce n'est pas ce que vous voulez, nous devons en savoir plus sur ce qui se passe.

+2

Ou 'git --no-pager grep ...' –

1

Vous pourriez redirigez la sortie vers grep comme ceci:

<git command> | grep -v '^$' 
1

Réglage de la variable d'environnement GIT_PAGER à « » fera toutes les commandes git sortie sans téléavertisseur.

Si vous voulez ne pas être paginée uniquement pour une commande particulière, par exemple git grep, l'utiliser avec git --no--pager

4

Même si la question est un peu vieux, pour référence ultérieure, je pense que le réglage .gitconfig devrait être mentionné, ici:

# ~/.gitconfig or .git/config 

[pager] 
    grep = false 

Cela vous permettra de ne jamais utiliser téléavertisseur lors de l'utilisation git grep, sans la nécessité d'ajouter une variable supplémentaire env.