2008-09-08 12 views
10

मैं 280North से नए Objective-J/Cappuccino जावास्क्रिप्ट ढांचे को देख रहा हूं। वे सिंटैक्स हाइलाइटिंग को संभालने के लिए SubEthaEdit और TextMate के लिए प्लग-इन प्रदान करते हैं, लेकिन मैं मुख्य रूप से vi का उपयोग करता हूं। क्या किसी को वीआई में ऑब्जेक्टिव-जे सिंटैक्स हाइलाइटिंग करने का कोई तरीका पता है, या अन्य दो संपादकों का प्रारूप जो भी प्रारूप परिवर्तित करने का एक अच्छा तरीका है?किसी को भी vi में उद्देश्य-जे वाक्यविन्यास हाइलाइटिंग के बारे में पता है?

उत्तर

7

उद्देश्य-जे उपकरण पैकेज (http://cappuccino.org/download) और गीथब पर स्रोत में अब एक विम हाइलाइट मॉड्यूल शामिल है।

1

तो नियमित रूप से जावास्क्रिप्ट वाक्य रचना हाइलाइटिंग काफी अच्छा है, आप अपने .vimrc फाइल करने के लिए कुछ इस तरह जोड़कर फ़ाइलों जम्मू के लिए नक्शे कर सकते हैं:

augroup objective-j 
    au! BufRead,BufNewFile *.j set filetype=objective-j 
    au! Syntax objective-j source /usr/share/vim/vim71/syntax/javascript.vim 
    augroup END 

मैं इस सटीक कोड प्रयास नहीं किया है, लेकिन किया मेरी लिनक्स मशीन पर .vala फ़ाइलों में सी # सिंटैक्स मैपिंग करते समय कुछ ऐसा ही होता है। (नोट: javascript.vim फ़ाइल आपके कंप्यूटर पर कहीं और स्थित हो सकती है।) आप निश्चित रूप से इसका उपयोग करने के बजाय javascript.vim वाक्यविन्यास परिभाषा के आधार पर एक उद्देश्य-j.vim फ़ाइल बना सकते हैं।

+0

या आप बदल सकते हैं जावास्क्रिप्ट .vim से objj.vim (आप objj.vim को usr/share/vim/vim72/वाक्यविन्यास/में कॉपी करने के बाद)। MacVim का उपयोग कर मेरे लिए काम करता है। – finnsson

10

गीथब पर स्रोत अब एक विम हाइलाइट मॉड्यूल शामिल है।

मैंने पाया बस क्या यहाँ का सुझाव दिया है पर्याप्त नहीं है:

  • डाउनलोड फ्रांसिस्को के रूप में फ़ाइल का सुझाव

  • unzip, cd Tools/ dir

  • खोल चलाने , sh install-tools

  • vim निर्देशिका के लिए objj.vim फ़ाइल की प्रतिलिपि, cp Tools/Editors/objj.vim /usr/share/vim/vim71/syntax/

समस्या

मैंने पाया कोई वाक्य रचना हाइलाइटिंग "जम्मू" फ़ाइलों के लिए काम किया। तो यहां समस्या कोई फ़ाइल एक्सटेंशन मान्यता नहीं है। यदि आप जीवीआईएम का उपयोग कर रहे हैं क्योंकि मैं भी मेनू आइटम नहीं हूं।

ऑब्जेक्टिव-जम्मू मेनू

जाँचने के लिए Syntax-> ने-मो> उद्देश्य जम्मू के लिए जाँचने में एक मेनू-आइटम जोड़ने के लिए जोड़ें:

  • sudo vim /usr/share/vim/vim71/synmenu.vim

निम्नलिखित पंक्ति जोड़ें।

  • an 50.70.465 &Syntax.Me-NO.Objective\ J :cal SetSyn("objj")<CR> उद्देश्य-सी प्रविष्टि के नीचे।

बचाने के लिए और छोड़

  • :wq!

तो जाँचने में एक "जम्मू" फ़ाइल से लोड करें। यदि आप तो जाना:

  • Syntax-> ने-मो> उद्देश्य जम्मू

आपके चयनित ऑब्जेक्टिव-जम्मू फ़ाइल होने चाहिए के लिए पर प्रकाश डाला।

उद्देश्य-जे ऑटो-हाइलाइटिंग?

लेकिन जब आप फ़ाइल लोड करते हैं तो ऑटो-हाइलाइटिंग के बारे में क्या? ऐसा लगता है कि कोई फ़ाइल एसोसिएशन नहीं है। तो:

  • sudo vim /usr/share/vim/vim7.1/filetype.vim

फ़ाइल में आप फ़ाइल प्रकार संघों की एक सूची मिलेगी। यदि आप लाइन को जोड़ने के लिए कोई विचार चाहते हैं, तो filetype.vim में "setf ocaml" खोजें। (वर्णमाला) ऊपर से नीचे पंक्ति जोड़ दें:

  • "" Objective J au BufNewFile,BufRead *.j setf objj

सहेजें परिणाम। अब आप ऑब्जेक्टिव-जे फाइलों के कार्यों के लिए ".j" एक्सटेंशन और सिंटैक्स हाइलाइटिंग वाली फ़ाइल लोड करने में सक्षम होना चाहिए।

परिणाम

अब आप फ़ाइल प्रकार "जम्मू" और जाँचने में इस फ़ाइल प्रकार निर्धारित करने के लिए एक तरह से ऑब्जेक्टिव-जम्मू फ़ाइलों के स्वचालित मान्यता मिलना चाहिए। यह शायद ब्रैम द्वारा जोड़ा जाना चाहिए या जो भी विम की आधिकारिक रिलीज करता है लेकिन इस पल के लिए यह हैक मेरे लिए काम करता है। (उबंटू 8.10, विम 7.1)

+0

यदि आप का उपयोग कर रहे हैं> विम 7.1/7.2 विमबॉल (vim इंस्टॉल स्क्रिप्ट्स - vba) पर एक नज़र डालें ~ http://www.vim.org/scripts/script.php?script_id=1502 और http: //www.installationwiki .org/Installing_Vim_Scripts # Installing_Scripts – bootload

5

ऑब्जेक्टिव जे को स्वचालित फ़ाइल पहचान (मैक) विम के साथ हाइलाइट करने का एक और तरीका है और यह बूटलोड के संस्करण से बहुत साफ और छोटा है (यह मैकवीम में मेनू नहीं जोड़ देगा , लेकिन मुझे इसकी बिल्कुल आवश्यकता नहीं है):

  1. objj.vim फ़ाइल फ्रांसिस्को का उल्लेख करें।
  2. प्लेस ~/.vim/syntax/ में (फ़ोल्डर यदि आवश्यक बनाने)
  3. ~/.vim/filetype.vim करने के लिए लाइन au BufNewFile,BufRead *.j setf objj जोड़े
  4. मत भूलना अपने ~/.vimrc विन्यास फाइल में फ़ाइल प्रकार का पता लगाने को चालू करने की: filetype plugin on