मैक ओएस एक्स के विम के बजाय मैकविम की विम (कंसोल, एमवीएम) को डिफ़ॉल्ट बनाने का सबसे अच्छा तरीका है?


101

मैंने होमब्रे का उपयोग करके मैकविम को स्थापित किया। ( brew install macvim)। अगर मैं फोन mvimसे cmd, यह जीयूआई MacVim खोलता है।

मैं सिस्टम के ( ) के बजाय vimमैकविम के विम ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) को कॉल करना चाहूंगा /usr/bin/vim। इसे करने का सबसे अच्छा तरीका कौन सा है? मुझे पता है कि मैं कर सकता हूं alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"लेकिन मुझे नहीं पता कि यह सबसे अच्छा तरीका है ...

संपादित करें : दोस्तों, आपके सभी उत्तर के लिए धन्यवाद, लेकिन वास्तव में, जब से मैं पहले से ही उपयोग कर रहा हूं homebrew, --override-system-vimमुझे जो भी चाहिए उसे पूरा करने का सुरुचिपूर्ण तरीका है।


MacVim कंसोल विम और टर्मिनल में सिर्फ रेगुलर विम के बीच क्या अंतर है?
hobbes3

2
@ hobbes3, जो वीआईएक्स ओक्स के साथ जहाजों में रगड़ या अजगर के समर्थन में संकलित नहीं करता है, मैकविम का विम करता है। यदि आप कमांड-टी
asgeo1

ओएस एक्स के साथ जहाजों कि विम भी freakin 'क्लिपबोर्ड का समर्थन नहीं करता है।
थानाटोस

जवाबों:


136

मेरा मानना ​​है कि यह वही है जो आप ढूंढ रहे हैं:

brew install macvim --with-override-system-vim

यह vim, vimdiff, आदि को / usr / लोकल / बिन / विम में mimim के लिए सहानुभूति पैदा करेगा, और जब तक / usr / लोकल / बिन आपके PATH में / usr / बिन से पहले है, आपको परिणाम मिलेंगे ' फिर से खोज रहे हैं

काढ़ा के पहले संस्करणों में स्विच का उपयोग --override-system-vimकिया गया था जिसे हटा दिया गया था।


3
जब से मैंने कहा कि मैं पहले से ही homebrew का उपयोग कर रहा हूं, मुझे लगता है कि यह वास्तव में सबसे अच्छा विकल्प है: मुझे नहीं पता था कि यह विकल्प संभव था। धन्यवाद!
कोई अभी भी आपको

2
तकनीकी रूप से, यह होमब्रॉव के बजाय विम फॉर्मूला में छिपा हुआ रत्न है। :)
कीजडलेन

मुझे आश्चर्य है, क्या होगा अगर मैं मैकविम को हटा देता हूं, तो क्या मैकविम को हटा देगा और मूल विम छोड़ देगा? या वह भी चला जाएगा?
SEDS

4
यह जाहिरा तौर पर ऐप स्टोर (और न केवल कमांड लाइन टूल्स) के माध्यम से स्थापित पूर्ण Xcode की आवश्यकता है।
स्कूटे

3
यह अब काम नहीं करता है, क्योंकि होमब्रे ने आगे जाने वाले सभी सूत्र विकल्पों को हटा दिया है। discourse.brew.sh/t/…
फादेकोमिक


17

आप अपने आप में एक उपनाम बना सकते हैं ~/.bash_profile, बस इस लाइन को उस फ़ाइल में जोड़ें:

alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim"

वास्तव में, यह तब होगा alias vim="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim", जब मैं मैकविम के कंसोल वीआईएम से लिंक करना चाहता हूं, न कि गुई संस्करण से।
कोई अभी भी आपको

आह, ठीक है। फिक्स्ड!
वफ़र

चूंकि विम एक संवादात्मक अनुप्रयोग है, जो सिस्टम के विम को ओवरराइड करने वाला एक उपनाम है जो कि हानिकारक नहीं है, मुझे लगता है ...
कोई व्यक्ति अभी भी

1
मेरे लिए यह / एप्लिकेशन में था। अच्छा उर्फ!
user72923

4

brew install macvim --override-system-vimपदावनत किया गया है। आपको brew install macvim --with-override-system-vimइसके बजाय उपयोग करना चाहिए ।


अब काम नहीं करता है।
JESii

3

सिस्टम के डिफ़ॉल्ट संपादक को बदलने के लिए अपने .bash_profile में निम्नलिखित जोड़ें

export EDITOR=/usr/local/Cellar/macvim/<version>/bin/mvim 

इसे बदलने से आपको डिफ़ॉल्ट संपादक के लिए मैकविम का उपयोग करने की अनुमति मिल सकती है (यहां तक ​​कि उस ऐप के लिए भी जो संपादक को ऑटोलंच करता है)

EDIT
टर्मिनल पर सामान्य उपयोग के लिए, आपको फ़ाइल को संपादित करने के लिए 'mvim' का उपयोग करना होगा। यदि आप अभी भी टर्मिनल पर 'vi' लिखना चाहते हैं, तो मैं सुझाव देना चाहूंगा कि उपनाम को .bash_profile के रूप में भी जोड़ा जाए।

EDIT 2
ओपी के संपादन को देखने के बाद, आप MacVim के vim को सिस्टम पथ पर भेज सकते हैं। नोट मुझे नहीं लगता कि यह सबसे अच्छा तरीका है क्योंकि यह टर्मिनल पर कॉल करते समय अन्य सिस्टम कॉल को भी प्रभावित कर सकता है। इसलिए यदि आप वास्तव में केवल इसे बदलना चाहते हैं जब आप कमांड लाइन पर 'विम' टाइप करते हैं, तो एक उपनाम का उपयोग मैं करने के लिए सबसे साफ और सबसे सुरक्षित चीज मानता हूं।

PATH="/Users/user/Applications/MacVim.app/Contents/MacOS/Vim:${PATH}"
export PATH

which vimटर्मिनल पर उपयोग करके अपनी सेटिंग्स का परीक्षण करें ।


2
मैं mvim को डिफ़ॉल्ट नहीं बनाना चाहता। मैं मैकविम के विम ( /Users/user/Applications/MacVim.app/Contents/MacOS/Vim) को कॉल करना चाहता हूं जब मैं सिस्टम के विम ( /usr/bin/vim) के बजाय टर्मिनल पर विम लिखता हूं ।
कोई अभी भी

@ कुछ लोग अभी भी आपको MS-DOS का उपयोग करते हैं: इसके बारे में क्षमा करें, आपके इरादे को गलत तरीके से समझा गया है (अब आपका संपादन देखने के बाद थोड़ा अधिक)।
एडम लुईस

हम, लेकिन आपने मुझे एक विचार दिया: यदि मैं दृष्टिकोण के vimलिए सहानुभूति रखता हूं /usr/local/binऔर $PATHकाम करता हूं , तो यह काम कर सकता है।
कोई अभी भी आपको

@ कोई भी व्यक्ति अभी भी आपको MS-DOS का उपयोग करता है: उस निर्देशिका से सहानुभूति रखें, जिसमें पहले से ही विम है ... यह जानना मुश्किल हो सकता है कि आप किस विम को प्राप्त करने जा रहे हैं।
एडम लुईस

1
:) मेरा दिमाग सबसे खराब स्थिति (स्थानीय हटा) में कूद गया। आपको उपयोगकर्ता स्थानीय के साथ ठीक होना चाहिए।
एडम लुईस

2

संपादित करें: बस होमब्रे (परेशानी के लायक!) स्थापित करें brew install vim

मेरा पुराना उत्तर नीचे है:


मैं सिर्फ इसके लिए xcode स्थापित नहीं करना चाहता, इसके अलावा मैं उपनाम या काढ़ा विधि (जिसे xcode की भी आवश्यकता है) का उपयोग नहीं करना चाहता, इसलिए मैं यह चाहता हूं:

  1. मैं पहली बार मैकविम को रिलीज़ पेज से डाउनलोड करता हूं ,
  2. तब मैं अपने एप्लिकेशन फ़ोल्डर में खींचकर MacVim स्थापित करता हूं,
  3. टर्मिनल उपयोग के लिए, ज़िप में एक टर्मिनल ऐप भी है, जिसे कहा जाता है mvim, मैं इसे इस कमांड को चलाकर इंस्टॉल करता हूं:

    सुडो mv mvim / usr / स्थानीय / बिन / विम

  4. और फिर, मैं पर्यावरण को फिर से नष्ट कर देता हूं hash -r(या टर्मिनल को फिर से खोलना और खोलना)।

  5. अंत में, जब मैं vimअपने टर्मिनल से भागता हूं तो मैं अपडेटेड "कंसोल" में देखता हूं।

मुझे उम्मीद है इससे किसी को सहायता मिलेगी।


मैं बहुत सारे सामान के लिए होमब्रे का उपयोग करता हूं। यह परेशानी के लायक है। XCode स्थापित होने के बावजूद, मुझे केवल कॉल करके सभी को स्थापित करने में सक्षम होना brew installशानदार है।
कोई अभी भी आप

1

जब भी मैं अपने अजगर को उन्नत करता हूं, मेरे दो सेंट, मैं इसे चलाता हूं homebrew

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