คำถามติดแท็ก vimscript-python

2
ฉันจะให้ Vim สามารถรันทั้ง python และ python3 บนระบบ Linux ในเซสชันเดียวกันได้อย่างไร
บนระบบ Linux, Vim ที่แพ็กเกจมักมีเพียงหนึ่งpythonหรือpython3เปิดใช้งาน เป็นไปได้ที่จะเปิดใช้งานทั้งคู่ (ใช้python/dynและpython3/dyn) แต่ในระหว่างเซสชันสามารถใช้งานได้เพียงครั้งเดียว การสนทนารายชื่อผู้รับจดหมายนี้กล่าวว่า : ขึ้นอยู่กับวิธีการสร้างไลบรารี่ของ Python บนระบบที่ใช้เดเบียน (ด้วยเหตุผลที่ฉันจำไม่ได้ในทันที) พวกมันถูกสร้างขึ้นเพื่อให้ RTLD_GLOBAL ต้องใช้เพื่อเข้าถึงสัญลักษณ์ สิ่งนี้ป้องกันการโหลดทั้ง libpython2.x และ libpython3.x ในกระบวนการเดียวกัน ฉันสามารถทำอะไรได้บ้างเพื่อเปิดใช้งานการโหลดทั้งสองอย่างในเซสชันเดียวกัน ตัวเลือกที่ฉันเห็น: สร้าง Python {2,3} แพ็คเกจใหม่เพื่อRTLD_GLOBALไม่ให้จำเป็นต้องมีสิ่งใด ๆ อย่างใดทำให้ห้องสมุดโหลดก่อนหน้านี้เพื่อยกเลิกการโหลด (?!) โดย Vim (นั่นเป็นไปได้หรือไม่) สำหรับรายการใด ๆ ของ distro ให้สมมติเพื่อเพิ่มความจำเพาะ: Debian-based อูบุนตู Ubuntu 14.04 หรือ Arch Linux หากระบบที่ใช้เดเบียนซับซ้อนเกินไป โปรดทราบว่าฉันมีVim ให้สร้างด้วยการรองรับการโหลดแบบไดนามิกสำหรับทั้งสองดังนั้นการสร้าง Vim จึงไม่ใช่ปัญหา

7
รองรับ VIM 8.0 Python
ฉันกำลังพยายามอัพเกรดการติดตั้ง Vim เป็นเวอร์ชัน 8.0 แต่ไม่รองรับทั้ง Python และ Python 3 เป็นภาพด้านล่าง (PS: เนื่องจากปัญหานี้ฉันไม่สามารถใช้ปลั๊กอิน YCM (YouCompleteMe) ได้ในตอนนี้) ฉันติดตั้ง Vim 8.0 ตามคำสั่งต่อไปนี้ ฉันใช้ Ubuntu 16.04 (Xenial Xerus) ฉันจะจัดการปัญหานี้ได้อย่างไร sudo add-apt-repository ppa:jonathonf/vim sudo apt update sudo apt install vim


2
วิธีรันคำสั่ง python สำหรับแต่ละบรรทัด?
ฉันเป็นตัวอย่างโค้ดต่อไปนี้ซึ่งแก้ไขบรรทัดปัจจุบันโดยใช้คำสั่ง Python: :py import vim; vim.current.line="["+vim.current.line+"]" ฉันจะใช้คำสั่งนี้สำหรับแต่ละบรรทัดในไฟล์ปัจจุบันได้อย่างไร ที่เกี่ยวข้อง: คุณสามารถใช้ Python ใน Vim ได้อย่างไร? ที่ stackoverflow

6
วิธีการเปลี่ยนล่ามไพ ธ อนที่ใช้โดย jedi-vim
ฉันมีAnaconda(รวมถึง python3.5.2), VIM(7.4) และJedi-VIMติดตั้งบนระบบของฉัน นอกจากนี้ยังมีการpythonติดตั้งบนระบบ linux โดยค่าเริ่มต้น การเติมข้อความอัตโนมัติกำลังทำงานบนแพ็คเกจพื้นฐานอย่างน้อยที่สุด แต่สำหรับแพคเกจเช่นnumpy(ซึ่งรวมอยู่ในAnaconda) ความสมบูรณ์ไม่ทำงาน โดยใช้คำสั่งต่อไปนี้ในVIM: :py3 import sys; print(sys.path) ['/usr/lib/python35.zip', '/usr/lib/python3.5', '/usr/lib/python3.5/plat-x86_64-linux-gnu', '/usr/lib/python3.5/lib-dynload', '/usr/local/lib/python3.5/dist-packages', '/usr/lib/python3/dist-packages', '_vim_path_'] นี้แสดงให้เห็นว่าฉันที่ล่ามและแพคเกจไม่เคยถูกนำมาใช้Anaconda-pythonjedi-vim $which python /home/user1/anaconda3/bin/python ฉันจะทำให้ jedi-vim ใช้เส้นทางของ anaconda python ในการรับแพ็คเกจเติมข้อความอัตโนมัติได้อย่างไร

3
วิธีที่สง่างามในการรองรับทั้งงูใหญ่และงูหลาม 3 ในปลั๊กอินกลุ่ม
ฉันเพิ่งได้รับคำขอดึงเพื่อเปลี่ยนปลั๊กอิน vim ของฉันเพื่อให้รองรับ python3 แต่การเปลี่ยนแปลงเหล่านี้ทำให้ปลั๊กอินสำหรับกลุ่มใน Mac ของฉันซึ่งดูเหมือนว่าจะฟังหลาม python import sys กับ python3 import sys มีวิธีการที่สวยงามที่จะทำให้สคริปต์ในปลั๊กอินของฉันตรวจสอบคำสั่งที่ควรใช้? สิ่งที่ต้องการ: if has('python') python import ... elseif if has('python3') python3 import ... else finish endif ขอบคุณ

2
ฉันจะใช้ Python plugin บน Windows ได้อย่างไร
ฉันติดตั้ง Windows 7 64- บิตพร้อม python 2.7.11 และ python 3.5.1 (ทั้ง 32- บิต) และฉันได้คอมไพล์ vim ด้วย python / dyn และ python3 / dyn แต่ฉันได้รับข้อผิดพลาดต่อไปนี้: :py print "hello" E887: Sorry, this command is disabled, the Python's site module could not be loaded อย่างไรก็ตามสิ่งต่อไปนี้ใช้ได้ดี: C:\python27\python -c "import site;" และ :py3 print("hello") นี่คือข้อมูลเวอร์ชัน …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.