อาร์กิวเมนต์เสร็จสมบูรณ์สำหรับหลาม


9

มีวิธีในการรับอาร์กิวเมนต์สำหรับ python หรือไม่?

ขณะนี้ฉันกำลังใช้การรวมกันของ ctags, python-mode และ YouCompleteMe แต่ฉันขาดฟังก์ชั่นในการเติมข้อความโดยอัตโนมัติของข้อโต้แย้งของฟังก์ชั่น (หรือแสดงอย่างน้อยที่สุด)

มีปลั๊กอินที่รองรับหรือไม่

ฉันใช้ vim / gvim 7.4 และ Ubuntu 14.04

คำตอบ:


10

โดยค่าเริ่มต้น (ด้วย vimrc ขั้นต่ำและไม่มีการติดตั้งปลั๊กอิน) สิ่งนี้เป็นไปได้แล้ว

Vim จัดส่งมาพร้อมกับปลั๊กอินหลายประเภทและบางส่วนของปลั๊กอินเหล่านี้มอบความสมบูรณ์แบบครบทุกด้านทันทีนอกกรอบ ตัวอย่างเช่น python มาพร้อมกับ pythoncomplete.vim

หากคุณใช้ pythoncomplete.vim เริ่มต้นที่มาพร้อมกับ Vim (เช่นไม่มี YouCompleteMe ไม่มีโหมด python ไม่มี jedi-vim) คุณจะได้รับหน้าต่างแสดงตัวอย่างเมื่อคุณทำฟังก์ชั่นเสร็จสมบูรณ์ซึ่งแสดงอาร์กิวเมนต์ของคำหลัก

สิ่งที่คุณต้องการคือเสียงเรียกเข้าพร้อม+pythonคุณสมบัติ ( :echo has('python')แสดง 1) หากคุณทำเช่นนี้จะเป็นการเปิดใช้งานการเริ่มต้น python รอบด้านแบบสมบูรณ์ด้วย vimrc ของคุณ:

filetype plugin indent on

หลังจากหาวิธีแก้ปัญหาอื่น ๆ อีกมากมายสำหรับ python (jedi, python-mode) ฉันชอบ pythoncomplete.vim ที่มาพร้อมกับ Vim มากขึ้น มันง่ายและสำคัญที่สุดสำหรับฉันมันเสถียรมากโดยเฉพาะเมื่อเทียบกับโซลูชันเช่นโหมด jedi-vim / python และ YouCompleteMe

นี่เป็นลักษณะของโซลูชันเริ่มต้น มันไม่ได้มีข้อโต้แย้งที่สมบูรณ์ แต่เพียงแสดงให้พวกเขาเห็นในหน้าต่างแสดงตัวอย่างดังนั้นมันจึงเป็นเรื่องง่ายสำหรับคุณที่จะเติมอาร์กิวเมนต์ของคำหลักในลักษณะดังนี้:

ป้อนคำอธิบายรูปภาพที่นี่


2
@ lcd047: วิธีนี้ไม่ตอบคำถามได้อย่างไร คำถามคือการหาวิธีการ "เติมข้อความอัตโนมัติของฟังก์ชัน (หรือแสดงอย่างน้อยที่สุด)" ฉันแนะนำวิธีแก้ปัญหาที่จะแสดงข้อโต้แย้งของฟังก์ชัน คุณเสนอความสมบูรณ์ของข้อโต้แย้งฉันเสนอการแสดงของพวกเขา ผู้ถามสามารถเลือกความชอบของเขาได้ ฉันไม่เห็นปัญหาที่นี่
akshay

ฉันต้องการค้นหาข้อมูลเพิ่มเติมเกี่ยวกับปลั๊กอินนี้ คุณใช้มันอย่างไร? ฉันต้องการ ctags สำหรับมันหรือไม่?
Neaţu Ovidiu Gabriel

@ NeaţuOvidiuGabriel: ปลั๊กอินนี้ติดตั้งใน Vim คุณไม่ต้องการอะไรนอกจากคำตอบของฉันที่บอกคุณ
akshay
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.