2008-09-18 14 views
83

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

कृपया "emacs का उपयोग करें" न कहें क्योंकि मैं पहले से ही विम पर चढ़ गया हूं और मैं वास्तव में इसे एक संपादक के रूप में आनंद ले रहा हूं।

+0

कौन सा लिस्प, आम लिस्प? – Pablo

+0

इस मामले में, हाँ, आम लिस्प। मैं कुछ योजनाओं में भी चारों ओर झुकाव करता हूं, लेकिन यह आकस्मिक खोजी प्रोग्रामिंग के लिए अधिक है। –

उत्तर

50

लिंप का लक्ष्य विम के लिए एक पूरी तरह से विशेषीकृत आम लिस्प आईडीई होना है।यह एसबीसीएल के लिए डिफ़ॉल्ट है, लेकिन फ़ाइल /usr/local/limp/latest/bin/lisp.sh

इन दिनों लिस्प पर चर्चा करते समय, अपने पसंदीदा लिस्प के लिए "एसबीसीएल" को प्रतिस्थापित करके अधिकांश अन्य कार्यान्वयनों का समर्थन करने के लिए बदला जा सकता है। , आमतौर पर इसे सामान्य लिस्प, माना जाता है कि एएनएसआई एक्स 3 जे 13 (the HyperSpec, और Practical Common Lisp अच्छी पाठ्यपुस्तक के लिए देखें) जीएनयू क्लिस, एसबीसीएल, सीएमयूसीएल, एलेग्रोसीएल और कई अन्य लोगों के कार्यान्वयन के साथ।

लिंप पर वापस जाएं। ऐसे अन्य समाधान हैं जो अधिक हल्के वजन वाले हैं, या अन्य चीजों को करने का प्रयास करते हैं, लेकिन मैं एक ऐसा माहौल प्रदान करने में विश्वास करता हूं जो आपको ब्रैकेट मिलान, हाइलाइटिंग, प्रलेखन लुकअप जैसी चीजें देता है, यानी इसे जितना संभव हो सके टर्न-कुंजी समाधान बनाना ।

the Limp repository में आपको स्लिमिम परियोजना, अर्थात् ईसीएल (एंबेडेबल कॉमन लिस्प) इंटरफ़ेस का पिछला काम मिल जाएगा, बाद में रिलीज़ (7.1) के साथ विलय; साइमन ने अभी तक 7.2 तक पैच भी उपलब्ध कराए हैं। ईसीएल इंटरफेस को if_ecl.txt में दस्तावेज किया गया है।

कम अवधि का काम 7.2 के साथ विलय करने और vim_dev को पैच सबमिट करने के लिए इसे आधिकारिक विम पेड़ में विलय करने के लिए सबमिट करना है।

जो हमें लंबी अवधि की योजनाओं तक ले जाता है: सीधे लिम में लिस्प होने से इसे स्वैंक फ्रंट-एंड (एसआईएलएमई का हिस्सा जो आपके लिस्प में चलता है, स्लिम.एल भाग के साथ भाग लेना सुविधाजनक बनाता है) जो संपादक में चलता है - अग्रभाग)।

और कहीं बीच में, यह संभावना है कि सभी लिंप को ईसीएल इंटरफ़ेस का उपयोग करके सामान्य लिस्प में फिर से लिखा जाएगा, जिससे लिंप को बनाए रखना आसान हो जाएगा (विमस्क्रिप्ट मेरा पसंदीदा नहीं है) और उपयोगकर्ताओं को अनुकूलित करने के लिए आसान होना चाहिए।

official Limp site समय-समय पर नीचे चला जाता है, लेकिन जैसा कि कहा, download at Vim.org हमेशा काम करना चाहिए, और सहायता समूहों limp-devel और limp-user Google समूह के साथ की मेजबानी कर रहे हैं। अगर आपको लगता है कि आपको किसी प्रश्न का उत्तर देने की आवश्यकता है, या शायद विकास पर शामिल होना चाहते हैं तो शामिल होने में संकोच न करें। अधिकांश चर्चा limp-devel सूची पर होती है। यदि आप आईआरसी में हैं, तो मैं #limp में irc.freenode.net पर 'टिक' के रूप में हूं।

शुभकामनाएं!

+3

इस काम की स्थिति क्या है? क्या आप अभी भी इसके साथ काम करने में रुचि रखते हैं? –

+3

मैं उलझन में हूँ। "उत्तर" कुछ विकल्पों के सुझाव की तरह लगता है, जैसे कि लिंप का उपयोग करना, लेकिन इसे पूरा करने के तरीके को समझा नहीं जाता है। मैंने सोचा कि सवाल यह था कि मैं एसबीसीएल/जो भी हो, के साथ विम का उपयोग कैसे करूं। यह वास्तव में सवाल का जवाब नहीं देता है, इसलिए मैं सभी उपवासों से थोड़ा उलझन में हूं। क्या आप इस माहौल को वास्तव में स्थापित करने और शुरू करने के बारे में थोड़ी सी जानकारी में जा रहे हैं? – jpswain

+0

ऐसा लगता है कि लिंप अब बनाए रखा नहीं गया है: साइट डाउन है और अंतिम परिवर्तन 2008 में था। – kynan

3

आप एक कोशिश विम अनुकरण के साथ Emacs दे सकते हैं, सही नहीं है, लेकिन यह कुछ हद तक परिचित हो सकते हैं। मुझे लगता है कि लिस्प चमकता है यदि आप स्लिम या डॉ। श्शेम जैसे कुछ उपयोग करते हैं, तो अन्य सभी संपादकों को गलत लगता है।

5

: सेट तुतलाना

विम आप लिस्प मानकों के द्वारा अपने कोड को इंडेंट मदद करने के लिए एक विधा है।

इसके अलावा, मैं lispwords को संशोधित करने के लिए संशोधित करता हूं कि vim इंडेक्स कैसे मेरे कोड को इंडेंट करता है।

: setl lw- =

+1

इंडेंटिंग आसान है। एक अच्छा आईडीई प्रदान करना बहुत महत्वपूर्ण है। दरअसल वीआईएम ऐसा भी नहीं करेगा (इंडेंटेशन) साथ ही इमाक्स/एसएलआईएमई करता है। –

1

(~/.vim/ftplugin/lisp.vim में) मैं तुम्हें कहा Emacs उपयोग करने के लिए आपको बताने के लिए नहीं पता है।

Emacs का उपयोग करें।

गंभीर, SLIME Emacs के लिए सेटअप बहुत अधिक लिस्प के लिए मानक विकास मंच है, और बहुत अच्छे कारण के लिए।

+4

मैं अभी भी इस जवाब से खड़ा हूं, भले ही लोग अभी भी अप्रैल 2011 तक इसे वोट दे रहे हैं। मुझे विम पसंद है और इसे दैनिक उपयोग करें, लेकिन लिस्प में लिखे गए पर्यावरण में प्रोग्रामिंग लिस्प की तरह कुछ भी नहीं है। "काश मैं अपने संपादक को प्रतिक्रिया दे सकता हूं कि मेरे लिस्प सर्वर में क्या हो रहा है। ओह, रुको! मैं कर सकता हूँ!" एक महान भावना है। दोबारा: मुझे * विम पसंद है, लेकिन मेरी राय यह है कि Emacs * Lisp * के साथ काम करने के लिए एक बेहतर संपादक है। –

+0

अनुवर्ती: 6 साल बाद और आप अभी भी इस दशक के पुराने उत्तर पर मतदान कर रहे हैं? ठीक है, हम इसे प्राप्त करते हैं, हम इसे प्राप्त करते हैं! मैं अभी भी इसे बदल नहीं रहा हूँ। –

8

ईएमएसीएस के लिए एसएलईएमई LISP प्रोग्रामिंग के लिए एक शानदार उपकरण है। सबसे अच्छा हिस्सा आपके संपादक में लिखे गए कोड को सीधे लाइव LISP सत्र में भेज रहा है। आप यहाँ युक्तियों का उपयोग विम से बाहर समान व्यवहार प्राप्त कर सकते हैं:

http://technotales.wordpress.com/2007/10/03/like-slime-for-vim/

मैं अपने ही स्क्रिप्ट समायोजित इतना है कि मैं या तो एक SBCL या Clojure सत्र के लिए भेज सकते हैं। यह आपको अधिक उत्पादक बनाता है और आरईपीएल का लाभ उठाता है।

": सेट लिस्प" विम के लिए लिस्पे इंडेंटेशन मोड शुरू करता है। लेकिन यह क्लोजर जैसी कुछ बोलीभाषाओं के साथ काम नहीं करेगा। क्लोजर के लिए, VimClojure का उपयोग करें।

कुछ लोग LIMP भी पसंद करते हैं।

20

यहां Xach द्वारा एक अच्छा आरेख है जो वर्तमान स्थिति को बताता है।

diagram explaining that there are nearly no VIM users that are also Lisp programmers and can also hack it to make it a good Lisp IDE... lousy alt text :)

+56

यह मूर्खतापूर्ण है। आपको वीम को कस्टमाइज़ करने के लिए सी की आवश्यकता नहीं है। विम अपनी भाषा में बॉक्स से बाहर पटकथा योग्य है, और अधिकांश रूबी और पायथन स्क्रीटिंग का भी समर्थन करता है। –

+6

तो, वीआईएम उपयोगकर्ता जो सामान्य लिस्प के लिए वीआईएम का उपयोग करना चाहते हैं वे सभी वीआईएम उपयोगकर्ताओं का मूल हैं ?? हो सकता है कि मैं यहाँ कुछ याद कर रहा हूं ... –

+42

आप गायब हैं कि वेन आरेख कैसे काम करते हैं। –

2

वहाँ विम में लिस्प की कीचड़ की तरह एकीकरण होने पर प्रयास किया गया है लगता है, लेकिन जैसा कि वास्तव में उपयोगी होने के लिए आवश्यक कोई भी वास्तव में जहाँ तक चले गए हैं। मुझे लगता है कि ईसीएल का एकीकरण किया गया है, लेकिन अपस्ट्रीम नहीं किया गया है।

आपको Cliki's page about Vim से सभी प्रासंगिक लिंक मिलना चाहिए।

5
  • विम ऐड-ऑन: इंद्रधनुष कोष्ठक, लिस्प वाक्य रचना
  • SBCL ऐड-ऑन: कई टर्मिनल खिड़कियों के साथ Ion3 (या कुछ अन्य टाइलों WM): rlwrap, sb-aclrepl
  • कार्यप्रवाह।

    • लिस्प खिड़की के विम
    • स्विच में संपादित लिस्प
    • उपयोग सी आर (बेशक कीबोर्ड का उपयोग कर) विचाराधीन ASDF प्रणाली को फिर से लोड करने के लिए लाइन याद करने के लिए, इसलिए आपके परिवर्तन सक्रिय हो जाते हैं।
    • छोटे स्निपेट/परिवर्तनों के लिए एक्स विंडो कॉपी/पेस्ट का उपयोग करें।
    • डेस्क्रिब, ट्रेस और एप्रोपोस का भारी उपयोग करें।
    • दोहराना।
26

आप slimv एक विराम दे सकता है।

+0

+1 पर लगभग सबकुछ (.vim फ़ाइलें और संबंधित दस्तावेज़ीकरण) पा सकते हैं बस स्लिम के साथ शुरू करें, इसलिए इसके बारे में कोई जानकारी नहीं है लेकिन ऐसा लगता है कि यह पूरी तरह से ठीक है Emacs के लिए कीचड़ के असली विकल्प के रूप में बॉक्स। इसके अलावा हाल ही में रिलीज (v0.9.2 07-nov-2011) है जबकि 2008 के बाद से कोई अपडेट नहीं है। – jmsu

+2

थोड़ी देर के लिए स्लिम का उपयोग कर रहे थे; उत्कृष्ट है। अंतरिक्ष में कुछ और तुलना नहीं करता है। – tempire

2

यहां हम 9 साल बाद हैं, और अब हमारे पास विम 8 और नियोविम है, दोनों प्लगइन को असीमित रूप से बातचीत करने की क्षमता प्रदान करते हैं।

vlime एक उत्कृष्ट, फीचर समृद्ध प्लगइन है जो सामान्य लिस्प के लिए एसएलईएमई-जैसे देव पर्यावरण प्रदान करने के लिए नए एसिंक इंटरफेस का लाभ उठाता है।

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