पाठ में आउटपुट विम डिस्प्ले


9

मुझे आश्चर्य है कि अगर कोई समान आदेश है :TOhtml, लेकिन केवल सादे पाठ के लिए और पूरे विम प्रदर्शन का प्रतिनिधित्व करने के लिए।

उदाहरण के लिए, प्रदर्शन को देखते हुए:

यहाँ छवि विवरण दर्ज करें

यह निम्नलिखित पाठ फ़ाइल बनाएगा:

  1 B                         1 a                     
~                           ~                         
~                           ~                         
~                           ~                         
~                           ~                         
~                           ~                         
~                           ~                         
~                           ~                         
 N  <me] [+]      100% 1:1  ~                         
  1 a                       ~                         
~                           ~                         
~                           ~                         
~                           ~                         
~                           ~                         
~                           ~                         
~                           ~                         
 N  <me] [+]      100% 1:1   N  <e] [+]      100% 1:1 

(यह टर्मिनल से कॉपी / पेस्ट के माध्यम से किया गया है और पाठ को मैन्युअल रूप से प्रारूपित करता है)

मुझे ऐसा करने का कोई विकल्प नहीं मिला, मुझे लगता है कि कोई भी नहीं है।

यदि संभव हो तो, विम इसे कैसे प्राप्त कर सकता है?


1
हम्म। मुझे नहीं लगता कि विम के लिए अपनी खिड़की (यानी, ऊपर अपने स्क्रीनशॉट, जैसा कि बफ़र्स की सामग्री के विपरीत है) को "देखने" का कोई रास्ता नहीं है। कितनी उत्सुकता है।
सातो कट्सुरा

मेरे दिमाग में जो कि के लिए एक समस्या नहीं है vi, लेकिन टर्मिनल के लिए - जो कि माउस का उपयोग करने से अलग नहीं है! gnome-terminal"सभी का चयन कर सकते हैं", लेकिन मैंने आपको चिपकाने के बाद सुधार करने की आवश्यकता की जाँच नहीं की है। एक और सौदे पर, मुझे कुछ ऐसा लगेगा जो पूरी (स्क्रॉल करने योग्य) विंडो को एक फ़ाइल में डंप कर दे!
Law29

आप संपूर्ण स्क्रीन का चयन करने के लिए अपने माउस का उपयोग कर सकते हैं, जिसमें शीर्ष पर टैब नाम के साथ-साथ नीचे की स्थिति पट्टी और कॉपी किए गए स्क्रीन को पेस्ट करने के लिए बाहर दाईं ओर क्लिक करें। इसने मेरे लिए काम किया। मैंने लिनक्स में 7.2 vim का उपयोग किया।
सिबिकोडर

जवाबों:


5

हां, ऐसा करने का एक तरीका है! आप screenchar()फ़ंक्शन का उपयोग कर सकते हैं । से:help screenchar()

screenchar(row, col)                        *screenchar()*
        The result is a Number, which is the character at position
        [row, col] on the screen.  This works for every possible
        screen position, also status lines, window separators and the
        command line.  The top left position is row one, column one
        The character excludes composing characters.  For double-byte
        encodings it may only be the first byte.
        This is mainly to be used for testing.
        Returns -1 when row or col is out of range.

इसे स्क्रिप्ट में उपयोग करने के लिए, आप निम्न कार्य कर सकते हैं:

fu! ScreenCapture()
    let array=[]
    for i in range(1,&lines)
        let row=''
        for j in range(1,&columns)
            let row.=nr2char(screenchar(i,j))
        endfor
        call add(array, row)
    endfor
    tabnew
    call setline(1,array)
endfu
com! ScreenCapture :call ScreenCapture()

Vimscript की इस सुंदर टुकड़ा द्वारा लिखा गया था ईसाई Brabandt , आप इसे उपयोगी उसे एक वोट दें देना जाने लगता है, इसलिए यदि।

एक्शन में इसका एक उदाहरण है। जब मैंने अपनी vim विंडो पर यह फ़ंक्शन चलाया:

यहाँ छवि विवरण दर्ज करें

मुझे यह पाठ मिला:

  1                                    |  1                                     
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
[No Name]            0,0-1          All|~                                       
  1                                    |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
~                                      |~                                       
[No Name]            0,0-1          All [No Name]             0,0-1          All
:call ScreenCapture()                                                           
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.