2011-10-07 18 views
7

मुझे पता है कि emacs में किसी प्रकार का "क्लिक करने योग्य टेक्स्ट" डालना संभव है। अर्थात। आप एक टेक्स्ट डाल सकते हैं, कि जब उपयोगकर्ता उस पर प्रवेश करता है, तो दूसरी फ़ाइल खुलता है।विम: क्लिक करने योग्य लेबल

क्या ऐसा कुछ है vim के लिए?

उत्तर

4

यह संभव है, लेकिन फ़ाइल प्रकार-विशिष्ट है। एक बेहतरीन उदाहरण विम की स्वयं सहायता प्रणाली होगी जो विशिष्ट मैपिंग के साथ एक अपरिवर्तनीय बफर की तुलना में कुछ भी प्रशंसक नहीं है।

ऐसे लिंक रखने के लिए उदाहरण के लिए vimwiki और vimorgmode देखें।

4

सरल विज्ञापन के लिए आप एक फ़ंक्शन लिख सकते हैं जिसमें कर्सर के नीचे वाले शब्द के आधार पर एक निश्चित फ़ाइल खुलती है। फिर आप इस फ़ंक्शन को डबल-क्लिक ईवेंट पर मैप कर सकते हैं।

उदाहरण के लिए:

function! CustomLoad() 
    let word = expand("<cword>") 
    let path = "/path/to/file/to/be/opened" 
    if (word == "special_keyword" && filereadable(path)) 
     sil exe "split " . path 
    endif 
endfunction 

और का उपयोग कर इसे मैप:

nnoremap <2-LeftMouse> :call CustomLoad()<CR> 

इस प्रकार डबल क्लिक (सामान्य मोड में) शब्द special_keyword पर फ़ाइल /path/to/file/to/be/opened खुल जाएगा अगर यह पठनीय है। आप अलग-अलग कीवर्ड के लिए कई मामले जोड़ सकते हैं, या यदि आवश्यक हो तो फ़ाइल नाम उत्पन्न करने के लिए कीवर्ड की कुछ टेक्स्ट-प्रोसेसिंग कर सकते हैं। (ध्यान दें कि filereadable स्थिति आवश्यक नहीं है, लेकिन शायद एक अच्छा विचार है।)

उम्मीद है कि इससे मदद मिलती है।

1

एक और आसान समाधान फ़ाइल नाम लिखना और gf का उपयोग फ़ाइल पर जाने के लिए, Ctrl+w,f पर एक फ़ाइल में खोलने के लिए या Ctrl+w,f,g में एक टैब में खोलने के लिए है। ध्यान दें कि फ़ाइल पहले से मौजूद होनी चाहिए। कुछ अन्य युक्तियों के लिए this vim wikia entry देखें।

संबंधित मुद्दे