2008-09-26 11 views
10

क्या कस्टम एक्सटेंशन (अधिमानतः, पायथन में लिखा गया) के माध्यम से विम कार्यक्षमता का विस्तार करना संभव है?विम एक्सटेंशन (पायथन के माध्यम से)?

कमांड मोड में जब मुझे आदर्श रूप से कस्टम कमांड की आवश्यकता होती है। जैसे

ESC

: do_this

: do_that

उत्तर

19

vim अजगर में पटकथा का समर्थन करता है (और पर्ल के साथ-साथ, मुझे लगता है)।

आपको बस यह सुनिश्चित करना होगा कि आप जिस विम वितरण का उपयोग कर रहे हैं उसे पायथन समर्थन के साथ संकलित किया गया है।

आप एक Linux सिस्टम का उपयोग कर रहे हैं, तो आप स्रोत डाउनलोड कर सकते हैं और फिर

./configure --enable-pythoninterp 
make 
sudo make install 

vim अंदर के साथ यह संकलन, आप उपलब्ध सुविधाओं की सूची को

:version 

टाइप कर सकते हैं; अगर इसमें पाइथन समर्थन है, तो आपको कहीं भी 'पायथन' देखना चाहिए (अन्यथा 'एपिप्टन')।

फिर, अजगर मॉड्यूल के उपयोग की जांच करने के लिए, आप टाइप कर सकते हैं

:help python 

पुनश्च: आप vim सूत्रों संकलित करने के लिए जा रहे हैं, उपलब्ध कॉन्फ़िगर विकल्पों जाँच करना सुनिश्चित करें, आप की आवश्यकता हो सकती साथ ही साथ- python-config-dir निर्दिष्ट करने के लिए।

पीपीएस: "कमांड मोड में कस्टम कमांड" बनाने के लिए (यदि मैं सही तरीके से समझता हूं), तो आप एक विम स्क्रिप्ट (पायथन या विम स्क्रिप्टिंग भाषा का उपयोग करके) "फ़ंक्शन" माईफंक्शन "बना सकते हैं और फिर इनवॉक करते हैं यह

:Call MyFunction() 

चेक

:help user-functions 
विवरण

के लिए

+0

अरे ऑर्सोगुफो, मुझे इसके साथ परेशानी हो रही है ... "+ पायथन" --enable-pythoninterp विकल्प के साथ संकलन के बाद भी दिखाई नहीं देता है। मैंने python-config-dir को /usr/lib/python2.4/ पर सेट किया है, मैं एक मानक डेबियन डिस्ट्रो का उपयोग कर रहा हूं। कोई सुझाव? मैं बहुत आभारी रहूंगा। – AgentLiquid

+0

@ shafik23: यह काफी अजीब है; क्या आप वाकई संकलन सफल रहे हैं? क्या आपको कोई चेतावनी मिली? सबसे अच्छा सुझाव जो मैं आपको दे सकता हूं उसे कॉन्फ़िगरेशन के आउटपुट को ध्यान से पढ़ना है और ... और निश्चित रूप से, अगर आपको कुछ अजीब लगता है तो आप एक प्रश्न पूछ सकते हैं! चीयर्स –

+0

@ shafik23 मुझे आपके जैसे लक्षणों में कोई समस्या थी जब तक कि मैंने पैकेज पायथन-देव भी स्थापित नहीं किया। मैंने निर्देशों के मूल भाग का पालन किया http://www.blog.deepinit.com/?p=6 यानी srcf में srcfile संपादित करें/CONF_OPT_PYTHON = '- enable-pythoninterp' लाइन को शामिल करने के लिए 'src/config में' कॉन्फ़िगर करें ' फिर शीर्ष स्तर निर्देशिका से स्थापित करें और बनाओ। – sparklewhiskers

5

साथ हाँ, यह है। वहाँ http://www.vim.org/scripts/index.php

यह अजगर के साथ-साथ यदि अजगर लिए समर्थन के साथ किया जा सकता है पर कई एक्सटेंशन में संकलित किया गया है कर रहे हैं

इसके बारे में अनुच्छेद:। http://www.techrepublic.com/article/extending-vim-with-python/

गूगल हमारे दोस्त है।

एचटीएच

3

पाइथन के साथ विम को संकलित करने में समस्याएं थीं।

... पता चल सके कि अजगर के लिए संकलन और लिंक झंडे समझदार हैं ... कोई:। अजगर अक्षम "कॉन्फ़िगर उत्पादन में

उबंटू 10.04 पर आप python2.6-dev स्थापित किया है।./configure के लिए झंडे हैं:

--enable-pythoninterp 
--with-python-config-dir=/usr/lib/python2.6/config 

सुनिश्चित करें कि आप निर्देशिका के लिए एक रास्ता है, जो config.c फ़ाइल डाला है। पथ के अंत में / भी नहीं! इससे मुझे समस्याएं आईं।

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