2012-08-28 9 views
19

में सभी पेजिंग अक्षम करें मैं अपने सभी टर्मिनल काम emacs में करता हूं और "कम" से आउटपुट के चारों ओर जाने के लिए अधिक समृद्ध टूल का उपयोग करना पसंद करूंगा। इससे भी बदतर, किसी भी समय emacs के अंदर एक अनुप्रयोग पृष्ठ, यह बहुत परेशान है क्योंकि यह एक गूंगा टर्मिनल है।गिट

जबकि मैं "एम-एक्स मैन गिट-आरएम" के लिए "गिट हेल्प आरएम" जैसी चीज़ों को स्वैप कर सकता हूं, मैं बस गिट में सबकुछ के सभी पेजिंग को अक्षम करना पसंद करूंगा। तब मुझे सही incantations के लिए शिकार करने की ज़रूरत नहीं है।

git config --global core.pager cat 

चाल नहीं लगता है।

git config --global man.viewer "man -P cat" 

समस्याएं पैदा करता है क्योंकि "मैन-पी बिल्ली" वैध निष्पादन योग्य नहीं है।

मैं अपने आउटपुट को डंप करने के लिए गिट कैसे प्राप्त कर सकता हूं?

+0

'git -c core.pager = cat log' मेरे लिए ठीक काम करता है। –

+0

मैं वास्तव में चाहता हूं कि मैं दो उत्तरों को सही के रूप में चिह्नित कर सकूं, क्योंकि वास्तव में इसे पूरा करने के लिए आपको दो चीजें करने की आवश्यकता है। पहला core.pager बंद कर रहा है (कान का जवाब देखें)। दूसरा आदमी पेजिंग का मोड़ रहा है (जियोफ का जवाब देखें)। मैंने जियोफ को सही उत्तर के रूप में चिह्नित किया क्योंकि मैंने पहले ही पहले ही पता लगाया था लेकिन दूसरा फिरगर्ड नहीं मिला। –

+4

मैंने अपने Emacs init फ़ाइल में '(setenv" PAGER "" cat ") जोड़ा और सब कुछ अभी काम किया। कोई गिट विशिष्ट सेटिंग की आवश्यकता नहीं है। इसमें अतिरिक्त लाभ है कि नियमित शेल गिट में अपने सामान्य पेजर के साथ काम करता है। –

उत्तर

6

git help मैनपेज ऐसा लगता है कि आप में सक्षम होना चाहिए पढ़ने से

git config --global man.viewer catman 
git config --global man.catman.cmd "man -P cat" 

करने के लिए man.viewer config मूल्य के लिए एक उपकरण नाम, न कि (आंशिक) कमांड लाइन है। फिर man.catman.cmdcatman उपकरण के लिए उपयोग करने के लिए आदेश देता है।

ऐसा लगता है कि core.pager से cat को अन्य सभी चीज़ों का ख्याल रखना चाहिए।

+0

यह वह है जिसे मैं याद कर रहा था। अतिरिक्त काम करने के लिए धन्यवाद, इसे काम करने के लिए मुझे जरूरी था! –

1

आप alias git='git --no-pager' को आजमा सकते हैं। या अगर यह emacs के अंदर किसी कारण से काम नहीं करता है, तो आप शैल स्क्रिप्ट को अपने PATH में कहीं भी बना सकते हैं जो वास्तविक git --no-pager पर कॉल करता है।

+0

यह मेरा पहला शॉट था और इसमें कुछ समस्याएं हल हुईं, लेकिन उनमें से सभी नहीं। यह लगभग ऊपर बिल्ली को core.pager सेट करने के बराबर है। –

10

सभी आदेशों के लिए पृष्ठांकन को अक्षम करने के cat करने के लिए core.pager या GIT_PAGER निर्धारित किया है।

(ग) http://www.kernel.org/pub/software/scm/git/docs/git-config.html

अलावा। आपने git help के बारे में भी पूछा। यह वास्तव में एक गिट के पेजर नहीं है, यह $MANPAGER है। तो शायद आपके लिए यह पर्याप्त होगा PAGER=cat

PAGER=cat git help log कोई पेजर के साथ काम करता है।

+1

'GIT_PAGER = cat git log' ने मेरे लिए ठीक काम किया –

+0

जैसा कि मैंने मूल प्रश्न में उल्लेख किया है, इसने सभी समस्याओं को हल नहीं किया है। यह निश्चित रूप से "समस्या" का हिस्सा है, इसलिए एक अपवित्र क्रम में है। –

+0

यदि आप 'GIT_PAGER' को खाली स्ट्रिंग पर सेट करते हैं तो यह ठीक काम करता है:' GIT_PAGER = git log' (कम से कम गिट 1.8.x)। –