मैकविम और नियमित विम के बीच अंतर क्या है?


216

मैं ओएस एक्स के लिए यथोचित नया हूं, लेकिन मैं विभिन्न * निक्स सिस्टम में इसका उपयोग करने से विम से परिचित हूं। मैंने देखा है कि कई लोग टर्मिनल में विम पर मैकविम चलाने की सलाह देते हैं। क्या कोई मुझे बता सकता है कि मैकविम और नियमित विम के बीच क्या अंतर हैं?


2
संभवतः मैक फ्रेंडली कीबाइंडिंग के साथ करना है (ctrl बनाम कमांड कीज)
ldog

जवाबों:


214

मैकविम सिर्फ विम है। आप विम में जो कुछ भी करने के लिए उपयोग किए जाते हैं वह मैकविम में बिल्कुल उसी तरह काम करेगा।

MacVim टर्मिनल में Vim की तुलना में या Linux में GVim की तुलना में पूरे OS में अधिक एकीकृत है, यह Mac OS X के सम्मेलनों का बहुत अनुसरण करता है।

यदि आप मुख्य रूप से GUI ऐप्स ( YummyFTP + GitX + Charles ) के साथ काम करते हैं , तो आप MacVim पसंद कर सकते हैं।

यदि आप मुख्य रूप से सीएलआई ऐप्स (ssh + svn + tcpdump, उदाहरण के लिए) के साथ काम करते हैं, तो आप टर्मिनल में पसंद कर सकते हैं।

दूसरे (GUI) के लिए एक दायरे (CLI) में प्रवेश करना और छोड़ना और इसके विपरीत "महंगा" हो सकता है।

मैं टास्क और संदर्भ के आधार पर मैकविम और विम दोनों का उपयोग करता हूं: अगर मैं सीएलआई-लैंड में हूं vim filenameतो मैं सिर्फ टाइप करूंगा और अगर मैं जीयूआई-लैंड में हूं तो मैं क्विकसिल्वर को लॉन्च करूंगा और मैकवीम लॉन्च करूंगा।

जब मैंने TextMate से स्विच किया तो मुझे इस तथ्य को पसंद आया कि मैकवीम ने लगभग सभी नियमित शॉर्टकट का समर्थन किया जो मैक उपयोगकर्ताओं के आदी हैं। मैंने अपने स्वयं के कुछ पाठमेकम की नकल की, लेकिन, जब से मैं कई वातावरणों में काम कर रहा था, मैंने अपने आप को व्यंग्य सीखने के लिए मजबूर किया। अब मैं मैकविम और विम दोनों का उपयोग लगभग उसी तरह करता हूं। एक या दूसरे का उपयोग करना मेरे लिए केवल एक संदर्भ का प्रश्न है।

इसके अलावा, जैसे कि एल इज़र ने कहा, ओएस एक्स में डिफ़ॉल्ट विम (सीएलआई) थोड़ा पुराना है। आप MacPorts के माध्यम से अप-टू-डेट संस्करण स्थापित कर सकते हैं या आप MacVim स्थापित कर सकते हैं और अपने लिए एक उपनाम जोड़ सकते हैं .profile:

alias vim='/path/to/MacVim.app/Contents/MacOS/Vim'

MacVim और Terminal.app में समान विम है।

एक और अंतर यह है कि मैकविम में कई बेहतरीन कलरकेम बॉक्स से बाहर निकलते हैं, लेकिन टर्मिनल में दिखते हैं। यह केवल 8 रंगों (+ हाइलाइट) का समर्थन करता है, लेकिन आप iTerm का उपयोग कर सकते हैं - जिसे 256 रंगों का समर्थन करने के लिए सेट किया जा सकता है - बजाय टर्मिनल के।

तो ... मूल रूप से मेरी सलाह सिर्फ दोनों का उपयोग करना है।

संपादित करें: मैंने इसे आज़माया नहीं लेकिन टर्मिनल का नया संस्करण (10.7 में) 256 रंगों का समर्थन करने वाला है। मैं अभी भी 10.6.x काम पर हूँ इसलिए मैं अभी भी कुछ समय के लिए iTerm2 का उपयोग करूँगा।

संपादित करें: अपने शेल में मैकवीम के सीएलआई निष्पादन योग्य का उपयोग करने का एक बेहतर तरीका यह है कि मैकविम के mvimसाथ बंडल की गई स्क्रिप्ट को कहीं $PATHऔर स्थानांतरित करें और इस कमांड का उपयोग करें:

$ mvim -v

संपादित करें: हाँ, Terminal.app अब 256 रंगों का समर्थन करता है। इसलिए यदि आपको iTerm2 की उन्नत सुविधाओं की आवश्यकता नहीं है, तो आप डिफ़ॉल्ट टर्मिनल एमुलेटर का सुरक्षित रूप से उपयोग कर सकते हैं।


82
होमब्रेव एक दर्दनाक पैकेज मैनेजर बनाम मैकपोर्ट है, एक बार होमब्रे को बस स्थापित किया जाता है brew install macvimऔर आप सेट हो जाते हैं। mxcl.github.com/homebrew
ग्रेग के

3
होमब्रे के लिए +1। मेरे पास मेकपोर्ट के मुकाबले मेरे पास काढ़ा बेहतर है। हालांकि मैकपोर्ट में अभी भी होमब्रेव से अधिक पैकेज हैं।
चेव

2
@ कैसे किसी भी कठिन macports है sudo port install macvim
pellucide

1
@pellucide ज़रूर, एक पैकेज को स्थापित करना और अधिक दर्दनाक नहीं है। लेकिन होमबॉव में आईएमएचओ प्रबंधन निर्भरता और ओएस-डिफ़ॉल्ट पैकेज बनाम स्थापित पैकेज बहुत आसान है। इसके अलावा, sudoहोमब्रे में कभी भी आवश्यक नहीं है।
रॉय टिंकर

12

एक कारण जो मैंने मैकविम के लिए स्विच करने लायक बनाया है: यांक सिस्टम क्लिपबोर्ड का उपयोग करता है।

मैं अंततः अपने टर्मिनल और अपने बाकी अनुप्रयोगों पर मैकविम के बीच पेस्ट कॉपी कर सकता हूं।


13
आप *सिस्टम क्लिपबोर्ड पर टर्मिनल VIM में yank करने के लिए रजिस्टर का भी उपयोग कर सकते हैं । कौन सा IMO बेहतर है क्योंकि मैं व्यक्तिगत रूप से हमेशा अपने सिस्टम क्लिपबोर्ड से सिंक नहीं करना चाहता। इसलिए VIM में, उदाहरण के लिए एक लाइन yanking करते समय, "*yyक्लिपबोर्ड पर कॉपी करने के लिए उपयोग करें।
ल्यूक डेविस

1
vim.wikia.com/wiki/Accessing_the_system_clipboard - आपको बस इतना करना है अपने डिफ़ॉल्ट के लिए एक पंक्ति जोड़ने के लिए .vimrc इस रूप में अच्छी तरह से डिफ़ॉल्ट होने के लिए
जिम डेविल

1
आप टर्मिनल vim में क्लिपबोर्ड झटका चाहते हैं, बस एक जोड़ने +अगर आप क्लिपबोर्ड पूरी सामग्री की प्रतिलिपि करना चाहते हैं, उदाहरण के लिए:%y+
smallwat3r

3

दुर्भाग्य से, "mvim -v" के साथ, एएलटी प्लस तीर खिड़कियां अभी भी काम नहीं करती हैं। मुझे इसे सक्षम करने का कोई तरीका नहीं मिला है :-(


mvimकमांड के लिए धन्यवाद , मैंने होमब्री के माध्यम से मैकविम को स्थापित किया, लेकिन यह नहीं पता था कि एक डिफ़ॉल्ट सिमिलिंक कमांड था। धन्यवाद!
रॉय टिंकर

1

यह उन सभी प्रमुख बाइंडिंग के बारे में है, जो केवल .vimrc कॉन्फ़िगरेशन से प्राप्त कर सकते हैं। जहां तक ​​क्लिपबोर्ड का संबंध है आप उपयोग कर सकते हैं :set clipboard unnamedऔर विम से यम सिस्टम क्लिपबोर्ड पर जाएगा। वैसे भी, जो भी आप का उपयोग करते हुए समाप्त करते हैं, मैं सुझाव देता हूं कि यह vimrc config का उपयोग कर रहा है , इसमें बहुत सारे प्लगइन्स और बाइंडिंग शामिल हैं जो आपके अनुभव को सुचारू बनाएंगे।

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.