जावास्क्रिप्ट कोडिंग के लिए अनुशंसित विम प्लगइन्स? [बन्द है]


125

मैं JS & Vim में नया हूं। जावास्क्रिप्ट कोड लिखने के लिए कौन से प्लगइन्स से मुझे मदद मिलेगी?


6
प्रश्न को अधिक स्पष्टता देने के लिए, और भविष्य के पदों के लिए उनकी अंग्रेजी में ओपी की मदद करने के लिए ... यह पढ़ना चाहिए: "हाय, मैं जेएस और विम के लिए नया हूं। मुझे कौन सा प्लग इन जावास्क्रिप्ट कोड लिखने में मदद करेगा?" आप कह सकते हैं "मैं जावास्क्रिप्ट और विम के लिए नया हूं "। आप एकवचन के लिए "क्या है" का उपयोग कर सकते हैं, इसलिए उदाहरण के लिए "क्या एक a_plugin है जो मेरी मदद करेगा ..." या आप इस तरह के बहुवचन के लिए "जो" का उपयोग कर सकते हैं: " कौनसा_प्लगिन्स मेरी मदद करेगा ..."। इसके अलावा नोटिस के बदले "वाले प्लग इन है " का उपयोग करना चाहिए "प्लग इन होता " क्योंकि यह एक काल्पनिक है। आशा है कि मदद करता है :-)
hendrixski

3
@ हेंड्रिक्सस्की - इसे फिर से खोलने के लिए वोट करें।
ओसोडो

8
सबसे रचनात्मक नहीं रचनात्मक प्रश्न।
व्लादिस्लाव ज़ोरोव

8
मैं काफी आनंद लेता हूं कि इस "रचनात्मक नहीं" प्रश्न ने मुझे अपने वर्कफ़्लो को बेहतर बनाने में मदद की।
MaiaVictor

चूँकि यह प्रश्न (गलत तरीके से IMO) बंद है, मैं यहाँ एक टिप्पणी जोड़ूंगा: NeoVim के लिए एक इलेक्ट्रान-आधारित फ्रंट-एंड है जिसमें टाइपस्क्रिप्ट भाषा सर्वर ऑटोकॉमप्लेक्शन बॉक्स से बाहर है (वेनिला JS के साथ भी काम करता है!): Onivim .io । यह अभी भी किनारों के आसपास थोड़ा मोटा है, लेकिन मैं इसे कुछ हफ्तों के लिए अपने दैनिक ड्राइवर के रूप में उपयोग कर रहा हूं और इसमें बहुत सारे मुद्दे नहीं हैं। इसके आसपास एक बहुत अच्छा समुदाय है, और यह बहुत भारी विकास के अधीन है , इसलिए मैं भविष्य में इससे अच्छी चीजों की उम्मीद करता हूं! पूर्ण प्रकटीकरण: मैं परियोजना के लिए एक मासिक दान करता हूं और भविष्य में योगदान करने की योजना बना रहा हूं।
पार्कर आउल

जवाबों:


116

सिंटेक्स जाँच / लाइनिंग

Jimint या समुदाय संचालित jshint.com (जो कि बेहतर IMO है) को Vim के साथ Syntastic Vim plugin का उपयोग करके एकीकृत करने का एक बहुत ही आसान तरीका है । अधिक जानकारी के लिए मेरी अन्य पोस्ट देखें ।

स्रोत-कोड ब्राउज़िंग / टैग-सूची

वहाँ भी एक बहुत ही साफ रास्ता टैग लिस्टिंग मोज़िला का उपयोग कर जोड़ने के लिए है DoctorJS (पूर्व jsctags ) है, जो भी प्रयोग किया जाता है Cloud9 आईडीई के ऐस ऑनलाइन संपादक

  1. अपने पसंदीदा पैकेज-मैनेजर (उबंटू apt-get, मैक के घरbrew , आदि) का उपयोग करके निम्नलिखित पैकेज स्थापित करें :
    1. exuberant-ctags
      • नोट: स्थापित करने के बाद सुनिश्चित करें कि ctagsवास्तव में चल रहा है exuberant-ctagsऔर ओएस का प्रीइंस्टॉल्ड नहीं है ctags। आप निष्पादित करके पता लगा सकते हैं ctags --version
    2. node (Node.js)
  2. मिथुन DoctorJSसे क्लोन :git clone https://github.com/mozilla/doctorjs.git
  3. DoctorJSDir के अंदर जाएं और make install(आपको makeइंस्टॉल किए गए ऐप की भी आवश्यकता होगी , लेकिन यह बहुत बुनियादी है)।
    • प्लगइन स्थापित करने के साथ कुछ कीड़े हैं, make installफिलहाल चाल नहीं है। अभी के लिए मैं रेपो के bin/डायर को अपने $ PATH के बदले जोड़ता हूं। DoctorJS के GitHub को देखें और अधिक जानकारी के लिए पृष्ठ जारी करें
  4. TagBar विम प्लगइन स्थापित करें ( नोट: यह TagBar है, पुराने कुख्यात TagList नहीं है!)।
  5. फायदा। :)

नई परियोजना - Tern.js

डॉक्टरजेएस वर्तमान में मर चुका हैTern.js नामक एक नई होनहार परियोजना है । यह वर्तमान में शुरुआती बीटा में है, और अंततः इसे प्रतिस्थापित करना चाहिए।

वहाँ एक परियोजना ramitos / jsctags है जो अपने इंजन के रूप में टर्न का उपयोग करता है। बस npm install -gइसे, और टैगबार स्वचालित रूप से जावास्क्रिप्ट फ़ाइलों के लिए उपयोग करेगा।


5
टैगबेर के लिए +1 (केवल टैगलिस्ट से वाकिफ था!)
रोबेम

9
वर्तमान में डॉक्टरज को आपको इस बग में निर्दिष्ट पुनरावर्ती क्लोन करने की आवश्यकता है , git clone --recursive https://github.com/mozilla/doctorjs.gitऔर फिर स्थापित करना चाहिए काम करना
एंडी रे

1
डॉक्टर्सज ऑन विंडोज: baumichel.blogspot.ca/2011/11/… टैगबार में अतिरिक्त फिल्टिप्स जोड़कर: github.com/majutsushi/tagbar/wiki
एंड्रयू

6
चरण 3 करने से पहले, डॉक्टरज में सीडी और यह करें git submodule init && git submodule update:। फिर स्टेप 3.
ग्लोरथो

2
शराब की brew install ctags-exuberant
भठ्ठी

17

snipMate TextMate के सम्मिलन प्रणाली का अनुकरण करता है और डिफ़ॉल्ट रूप से उपयोगी JS स्निपेट (दूसरों के बीच) का एक गुच्छा लेकर आता है। अपना खुद का जोड़ना बेहद आसान है।

javaScriptLint आप के खिलाफ अपने कोड को मान्य करने के लिए अनुमति देता है जेएसएल।

इसके अलावा आप vim.org पर विभिन्न प्रकार की जावास्क्रिप्ट सिंटैक्स फाइल्स पा सकते हैं । उन्हें आज़माएं और देखें कि आपके और आपकी कोडिंग शैली के लिए कौन सा सबसे अच्छा काम करता है।

देशी सर्वव्यापी ( ctrlx- ctrlo) मेरे लिए बहुत अच्छा काम करता है। आप इसे AutoComplPop के साथ और अधिक गतिशील बना सकते हैं , लेकिन यह कभी-कभी कष्टप्रद हो सकता है।

संपादित करें, tarek11011 की टिप्पणी के जवाब में:

एसीपी डिफ़ॉल्ट रूप से जावास्क्रिप्ट के लिए काम नहीं करता है, आपको इसे थोड़ा मोड़ना होगा। यहां बताया गया है कि मैंने इसे कैसे किया (गंदा हैक, मैं अभी भी एक विम नोब है):

Vim-autocomplpop / plugin / acp.vim में मैंने जोड़ा है phpऔर javascript(और actionscript) behavsताकि यह इस तरह दिखे :

let behavs = {
    \   '*'            : [],
    \   'ruby'         : [],
    \   'python'       : [],
    \   'perl'         : [],
    \   'xml'          : [],
    \   'html'         : [],
    \   'xhtml'        : [],
    \   'css'          : [],
    \   'javascript'   : [],
    \   'actionscript' : [],
    \   'php'          : [],
    \ }

थोड़ा नीचे, कोड ब्लॉक की एक श्रृंखला है जो इस तरह दिखती है:

"---------------------------------------------------------------------------
call add(behavs.ruby, {
    \   'command' : "\<C-x>\<C-o>",
    \   'meets'   : 'acp#meetsForRubyOmni',
    \   'repeat'  : 0,
    \ })

मैंने इसे एक डुप्लिकेट किया है और इसे देखने के लिए इसे थोड़ा संपादित किया है:

"---------------------------------------------------------------------------
call add(behavs.javascript, {
    \   'command' : "\<C-x>\<C-o>",
    \   'meets'   : 'acp#meetsForRubyOmni',
    \   'repeat'  : 0,
    \ })

और एक्शनस्क्रिप्ट और php के लिए भी यही किया।

विम के कमांड लाइन में सेट फुट = html.css.javascript बनाने के लिए: यदि आप संपादित जे एस / एक HTML दस्तावेज़ आप कर सकते हैं के भीतर सीएसएस चाहते हैं ctrlx- ctrlo/ सीएसएस ब्लॉक में जे एस ब्लॉक और गुण / मूल्यों में गुण नाम कार्य पद्धति पर अपेक्षा के अनुरूप। हालांकि इस दृष्टिकोण में इसकी कमियां भी हैं, (अजीब इंडेंटेशन ...)।


आपने उन शांत दिखने वाले कीस्ट्रोक्स को कैसे किया?
मैक्सिम सोल्को

1
हाहा, यह <kbd> </ kbd> है। आमतौर पर ब्राउज़रों के पास इस टैग के लिए कोई डिफ़ॉल्ट स्टाइल नहीं है, अतिरिक्त काम करने के लिए SO टीम को कुडो।
रोमेल

धन्यवाद romainl, लेकिन autoComplPop के साथ एक समस्या है यह केवल html फ़ाइल के साथ काम नहीं है js और सीएसएस और php
Tarek सैयद

Vim प्लगइन्स का एक बहुत की तरह acp filetypes के प्रति बहुत संवेदनशील है। यदि बफ़र का फ़िलाइट "html" है, तो एम्बेडेड JS / CSS / PHP के लिए न तो acp और न ही omni पूरा काम करेगा। और मैं अपना उत्तर संपादित करने जा रहा हूं, यहां पर्याप्त संपादन विकल्प / कमरा नहीं।
रोमेनैल

आप स्निपमेट की वर्तमान रखरखाव शाखा का उपयोग करना पसंद कर सकते हैं जो रोक गर्बास और सह। एक साथ रखा।
यहजेक

8

यह प्लगइन उपयोगी भी है: https://github.com/maksimr/vim-jsbeautify । यह जावास्क्रिप्ट के लिए पूर्ण autoformatting प्रदान करता है। एक कीस्ट्रोक, और आपका कोड सुंदर दिखता है। कोड स्निपेट्स को चिपकाने के दौरान यह काम आ सकता है। यह लोकप्रिय js-beautifier का उपयोग करता है, जिसे ऑनलाइन एप्लिकेशन के रूप में भी पाया जा सकता है। उत्तरार्द्ध यहीं पाया जा सकता है: http://jsbeautifier.org/


3
मैंने vim के लिए एक सामान्य ऑटोफ़ॉर्मेटिंग प्लगइन लिखा है जो js-beautifier और अधिक को एकीकृत करता है। यहां देखें: github.com/Chiel92/vim-autoformat
चिएल दस ब्रिंक

प्रिटिटियर - सबसे अच्छा
एलेक्स शॉर्क

6

मैं केवल एक js विशिष्ट vim प्लगइन का उपयोग करता हूं - jslint.vim - https://github.com/hallettj/jslint.vim जो आपके कोड को jslints नियमों के साथ मान्य करता है और आपको सिंटैक्स त्रुटियाँ भी देता है।


धन्यवाद, लेकिन मुझे लगता है कि मुझे img69.imageshack.us/img69/7629/1114256565.png
Tarek

एचएम, खिड़कियों पर विशिष्ट निर्देश हैं जिनका आपको पालन करने की आवश्यकता होगी, इसके लिए एक जावास्क्रिप्ट दुभाषिया की आवश्यकता होती है। मैंने इसे विंडोज़ पर इंस्टॉल करने की कोशिश नहीं की है, लेकिन इंस्टाल निर्देश README में पेज को थोड़ा नीचे कर रहे हैं, क्षमा करें मैं वहाँ अधिक मदद नहीं कर सकता।
स्कॉट

3

इंडेंटेशन और ऑटोफोर्मेटिंग (Ctrl =) को ठीक करने के लिए: जावास्क्रिप्ट इंडेंट

इंडेंटेशन चौड़ाई सेट करने के लिए, javascript.vimफ़ाइल को ~ / .vim / ftplugin dir में निम्न सामग्री (दो स्थान इंडेंटेशन के लिए) के साथ जोड़ें:

 setl sw=2 sts=2 et

में ~/.vimrc:autocmd FileType javascript setlocal sw=2 ts=2 sts=2
जुआनपब्लो
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.