Cygwin: कैसे / usr / bin / vim vim के एक विशिष्ट संस्करण में हल होता है?


0

यह तब शुरू हुआ जब मैं भाग vimगया Cygwinऔर अचानक मुझे त्रुटि संदेश मिला: E185: Cannot find color scheme 'alduin'जब मैंने आज से पहले इस त्रुटि को प्राप्त नहीं किया था।

मैं Cygwin पैकेजों को स्थापित करने के साथ खिलवाड़ कर रहा था, और अनजाने में vim(?) का एक नया संस्करण स्थापित करना चाहिए : मेरे पास अब फ़ोल्डर्स /usr/share/vim/vim74/और हैं /usr/share/vim/vim80/

जब मैं vimछप स्क्रीन चलाता है तो यह संस्करण 8.0.1567 कहता है। और मुझे लगता है मैं डाल alduin.vimमें .../vim74/और नहीं.../vim80/

मेरा प्रश्न: /usr/bin/vim.exeविम के एक विशेष संस्करण के साथ कैसे जुड़ता है? Ie जब मैं दौड़ता हूं " vim" vim 8.0 क्यों लगाया गया है और vim 7.4 नहीं है?

> which vim
/usr/bin/vim
> 
> ls -l /usr/bin/vim*
-rwxr-xr-x 1 User None 2645011 Mar  4  2018 /usr/bin/vim.exe
lrwxrwxrwx 1 User None       7 Dec 14 21:39 /usr/bin/vimdiff -> vim.exe
-rwxr-xr-x 1 User None    2099 Mar  4  2018 /usr/bin/vimtutor
lrwxrwxrwx 1 Usr None       8 Dec 14 21:31 /usr/bin/vimx -> gvim.exe
> 
> find /usr/share/vim/vim74/ -name "*.exe"
> find /usr/share/vim/vim80/ -name "*.exe"
> 
> printenv | grep -i vim
> 

ध्यान दें, ऊपर, यह /usr/bin/vimमेरे दो विम संस्करणों में से एक में निष्पादन योग्य के लिए सॉफ्टलिंक नहीं है, जो है कि मैंने इस संस्करण का चयन कैसे किया होगा।


आप .exe / usr / शेयर की तलाश में क्यों हैं? यह वह जगह नहीं है जहां सिम्लिंक बिंदु (और नहीं जहां निष्पादन योग्य सामान्य रूप से रखे गए हैं)।
ग्रिटिटी

@grawity - उम्म ... वास्तव में यह नहीं जानते कि मैं क्या कर रहा था, मुझे लगता है कि मैंने "किया" find / -name "*vim*"और उन स्थानों के परिणाम सामने आए। लेकिन यहाँ मेरे प्रश्न / भ्रम की जड़ है: जब मैं "विम" चलाता हूं, मुझे लगता है मैं चल रहा हूँ /usr/bin/vim- सच है! मुझे लगता है कि यह " which vim" के आउटपुट द्वारा समर्थित है, लेकिन फिर /usr/bin/vim
सिम्लिंक

जवाबों:


2

पैकेज मैनेजर के माध्यम से (साइगविन का, लेकिन "वास्तविक" लिनक्स वितरणों पर भी यही लागू होता है), आप केवल विम के एक विशेष संस्करण को स्थापित कर सकते हैं । इसलिए /usr/bin/vim.exe( /usr/binपैकेज मैनेजर के स्वामित्व में होने के साथ ) लिंक होने की आवश्यकता नहीं है। विम पैकेज सीधे निष्पादन योग्य को वहां रख सकता है।

अब रनटाइम फाइल्स (अंडर /usr/share/vim) के लिए, उस "सिंगल वर्जन" तर्क का अनुसरण करते हुए, रास्ते के अंदर एक वर्जन नंबर की भी जरूरत नहीं है, लेकिन विम के डिफॉल्ट इंस्टॉल स्क्रिप्ट ( Makefile) में एक वर्जन है , और ज्यादातर पैकेज मेंटेनर्स इसे उसी तरह रखते हैं। आपके (आकस्मिक) उन्नयन ने कैसे काम किया, इस पर निर्भर करते हुए, आपके पास पूर्ण परित्यक्त विम 7.4 रनटाइम /usr/share/vim/vim74/(और vim.exeअधिलेखित हो गया) है, या यह केवल एक ज्यादातर खाली कंकाल निर्देशिका पदानुक्रम है जिसमें केवल वे फ़ाइलें शामिल हैं जिन्हें आपने इसे जोड़ा है (जैसे आपका colors/alduin.vim) ।

भविष्य में ऐसी समस्याओं से बचने के लिए, कृपया सिस्टम निर्देशिकाओं से दूर रहें, और इसके बजाय उपयोगकर्ता-विशिष्ट निर्देशिका में अपना विम अनुकूलन करें ; यानी ~/.vim/, के रूप में द्वारा वर्णित :help load-plugins। यूनिक्स / लिनक्स (जहां विम से आता है) सिस्टम और उपयोगकर्ता के बीच एक साफ जुदाई है, और भले ही यह विंडोज के तहत कम से कम स्पष्ट हो गया है (कम से कम अपने प्रारंभिक इतिहास में), यह विशेष रूप से सिग्विन के साथ इस से चिपके रहने की सलाह दी जाती है।

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