पायथन 3 समर्थन के साथ विम पाने का सबसे आसान तरीका क्या है?


19

मेरे पास Ubuntu 14.04 स्थापित है और इसके रिपोज में विम को पायथन 3 समर्थन के बिना संकलित किया गया है। उसके कारण, अजगर-मोड प्लगइन पायथन 3 कोड के साथ काम नहीं कर सकता है। पायथन 3 समर्थन के साथ विम पाने का सबसे आसान तरीका क्या है?

जवाबों:


16

यह डेबियन-आधारित सिस्टम (कम से कम) पर लगता है कि आप अपना केक नहीं खा सकते हैं और इसे भी खा सकते हैं। यह या तो पाइथन 2 या पाइथन 3 है । पाइथन पुस्तकालयों का निर्माण कैसे किया जाता है , इसके कारण आप केवल एक संस्करण का उपयोग एक विम सत्र में कर सकते हैं। आप दोनों के साथ निर्माण कर सकते हैं , लेकिन अगर पायथन 2 को विम में बुलाया जाता है, तो पायथन 3 को एक ही सत्र में नहीं बुलाया जा सकता है, और इसके विपरीत। आर्क लिनक्स पर भी, विम केवल पायथन 2 ( vim, gvim) या पायथन 3 ( vim-python3, gvim-python3) में से एक के साथ संकलित है ।


16.04 से पहले

विम का पुनर्निर्माण करने के लिए जो रिपॉजिटरी प्रदान करते हैं:

sudo apt-get build-dep vim
apt-get source vim
cd vim-*  # it will be vim-7.4.something

संपादित करें debian/rulesऔर बदलें:

ALLINTERPFLAGS+=--enable-pythoninterp --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--disable-python3interp

साथ में:

ALLINTERPFLAGS+=--enable-pythoninterp=dynamic --with-python-config-dir=$(shell python-config --configdir)
ALLINTERPFLAGS+=--enable-python3interp=dynamic --with-python3-config-dir=$(shell python3-config --configdir)

फिर भागो:

dpkg-buildpackage -us -uc

दोपहर का भोजन। (या चाय अगर आपने इस्तेमाल की है -j $(nproc)।)

अब, .debमूल निर्देशिका में कई फाइलें बनाई गई होंगी। जो देखने के लिए:

cd ..
ls vim*.deb

विशेष संस्करण के साथ-साथ आप स्थापित करना चाहते ( vim, vim-gnome, vim-gtk, आदि), आप स्थापित करना होगा vim-common_*.deb, vim-runtime_*.debऔर जीयूआई संस्करणों के लिए, vim-gui-common_*.deb। उदाहरण के लिए, रिपॉजिटरी में vim-gnomeवर्तमान संस्करण के साथ , और vim:

sudo dpkg -i vim-gnome_7.4.052-1ubuntu3_amd64.deb vim-common_7.4.052-1ubuntu3_amd64.deb vim-gui-common_7.4.052-1ubuntu3_all.deb vim-runtime_7.4.052-1ubuntu3_all.deb

फिर:

$ vim --version | grep python
+cryptv          +linebreak       +python/dyn      +viminfo
+cscope          +lispindent      +python3/dyn     +vreplace

अनुकरणीय-रो / dev पीपीए इस फैशन में विम बनाता है, तो आप मैन्युअल रूप से यह निर्माण के बजाय पीपीए उपयोग कर सकते हैं।


16.04

16.04 तक, उबंटू ने पायथन 3 समर्थन के साथ विम का निर्माण किया। अजगर 2 समर्थन द्वारा प्रदान की गई संकुल ( , , आदि)।-py2vim-nox-py2vim-gnome-py2


सम्बंधित:


विम ने इस तरह से संकलित किया जब मुझे पॉमोड फ़ंक्शन लोड करने का प्रयास करते समय एक त्रुटि मिलती है: यह विम निष्पादित नहीं कर सकता: उपयोग करने के बाद py3: अजगर। जब मैं उबंटू के बजाय गेंटू का उपयोग कर रहा था, विम ने अजगर 3 का इस्तेमाल किया और यह समस्या मौजूद नहीं थी।
क्रैबमैन

@ क्रेबमैन पहला पैराग्राफ पढ़ें।
muru

@ क्रैबमैन आप जो कोशिश कर सकते हैं, वह केवल पायथन 3 (अनिवार्य रूप से पहले से मौजूद लाइनों में पायथन 3 और पायथन की अदला-बदली) के साथ बनाना है। फिर python2 को लोड करने की कोशिश करने वाली कोई भी चीज विफल हो जाएगी।
मुरु

YouCompleteMe उपलब्ध नहीं है: अजगर को 2.x समर्थन के साथ संकलित करने की आवश्यकता है। मुझे लगता है कि यह मेरे द्वारा उपयोग किए जाने वाले सबसे महत्वपूर्ण एक्सटेंशन में से एक है, इसलिए यह विकल्प नहीं है।
क्रैबमैन

जहां तक ​​मैं समझता हूं कि मैं अपने .vimrc में "py3 3" लाइन को शामिल कर सकता हूं और यह केवल python3 समर्थन के साथ विम को संकलित करने के समान प्रभाव होगा।
क्रैबमैन
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.