2010-03-23 13 views
10

जब कम करने के लिए पाइप उत्पादन को देखने, कभी कभी मैं आदेश वाक्य रचना हाइलाइटिंग प्राप्त करने के लिए Emacs में इसे देखने के लिए सक्षम होना चाहते और Emacs का उपयोग करेंगे, खोज अंकन, प्रतिलिपि, आदिपाइप कम Emacs

के लिए आदेश मुझे लगता है कि कम v कमांड है जिसका उपयोग वर्तमान में देखे गए फ़ाइल को $EDITOR में खोलने के लिए किया जा सकता है। दुर्भाग्य से यह पाइप इनपुट देखते समय काम नहीं करता है।

इसके अलावा, मुझे नहीं पता कि Emacs को केवल पढ़ने-योग्य दस्तावेज़ के रूप में stdin प्रदर्शित करने के लिए कैसे प्राप्त करें।

तो, क्या v जैसे कुछ के साथ कम सेट करना संभव है, लेकिन यह वर्तमान बफर को केवल पढ़ने-योग्य फ़ाइल के रूप में Emacs में पंप करता है?

धन्यवाद।

उत्तर

5

यदि आप http://www.emacswiki.org/emacs/GnuClient में स्क्रॉल करते हैं, तो आप "एपैक बफर पर डेटा पिपिंग" शीर्षक वाले एक अनुभाग में आते हैं जो प्रासंगिक हो सकता है। या आप hack up a solution involving emacsclient and temporary files कर सकते हैं। (लिंक मृत)।

मुझे मृत लिंक के डुप्लिकेट की तलाश करते हुए एक और संस्करण मिला: Piping to an emacs buffer with emacsclient जो code stored on github पर इंगित करता है।

+0

http://www.shellarchive.co.uk/content/emacs_tips.html#have-emacsclient-accept-stuff-from-stdin ऊपर के लिंक नहीं है काम। क्या आप लिंक को अपडेट कर सकते हैं। – CantGetANick

+0

@CantGetanick: मुझे पसंद है, लेकिन मेरे पास एक वैकल्पिक संस्करण नहीं है। गाह! – dmckee

+0

आप एक अच्छे इंसान हैं। :) – CantGetANick

5

मैं यहाँ समाधान औपचारिक रूप दिया गया है: github e-sink

+0

धन्यवाद +1 ... यह 'emacs-pipe.pl' की तुलना में ** अधिक ** तेज़ (वास्तविक समय) है अन्य उत्तर ' बिल्ली फ़ाइल 'का उपयोग करके, जहां * फ़ाइल * में' printf 'का आउटपुट होता है '% s \ n' {0000001..1000000}> फ़ाइल' ..... 'emacs-pipe.pl' -> समय: आर/यू/एस:' 2m23.487s' '0m8.461s'' 0m4.976s' ..... जबकि, यह एक: 'e-sink.pl' -> समय: आर/यू/एस:' 0m14.796s' '0m11.289s'' m3.492s' .. ... लेकिन जब '--cmd' के साथ प्रयोग किया जाता है, तो मुझे एक त्रुटि मिलती है: * आपके विक्रेता ने POSIX मैक्रो ARG_MAX को परिभाषित नहीं किया है, जो /home/axiom/bin/e-sink.pl पंक्ति 182 * पर उपयोग किया जाता है .. क्या वहां है इसके लिए एक साधारण फिक्स? (मेरा perl ज्ञान बल्कि कम है) –

+0

- सीएमडी कार्यान्वयन मूल धीमी कार्यान्वयन था। मैंने आपके द्वारा सामना की गई त्रुटि को ठीक कर दिया है, लेकिन नए के साथ चिपके रहें। चीयर्स। –