2013-11-02 9 views
11

का उपयोग करते हुए टैब में टैब का उपयोग नहीं किया जा सकता है, मैं करने के निम्न संदेश:अजगर 3.4 में अजगर शैल

Display all 184 possibilites? (y or n) 

वहाँ अजगर 3.4 में टैब अनुमति देने के लिए कोई तरीका है?

+0

आप टैब-पूरा है, जो अविश्वसनीय रूप से उपयोगी (आमतौर पर) है के उपयोग को देख रहे हैं। 'आयात sys करने का प्रयास करें; sys.' फिर टैब दबाएं, और आप 'sys.' के नीचे सभी स्वत: पूर्ण विकल्प देखेंगे। आप इंडेंटेशन के लिए टैब के बजाय रिक्त स्थान का उपयोग कर सकते हैं (और आईएमओ), फिर दोनों दुनिया के सर्वश्रेष्ठ प्राप्त करें। –

+2

@JoshSmeaton यदि आप टर्मिनल में स्क्रिप्टिंग कर रहे हैं, तो टैब का उपयोग करके रिक्त स्थान (और अधिक विश्वसनीय) का उपयोग करने से बहुत तेज है। मैं कक्षा के अंदर एक विधि के अंदर एक बयान के लिए 12 रिक्त स्थान गिनने से नफरत करता हूं। –

+0

नई सिफारिश रिक्त स्थान का उपयोग करती है, लेकिन एकल रिक्त स्थान पर्याप्त ब्लॉक को अलग नहीं करते हैं, और 4 रिक्त स्थान टाइप करने के लिए बहुत मेहनती हैं। –

उत्तर

12

यह एक परिवर्तन अजगर 3.4 के विकास के संस्करणों में पेश किया है। यह कुछ हद तक विवादास्पद रहा है। आप अपनी राय on the issue पर आवाज उठाना चाहेंगे।

11

टैबबिंग के बजाय आप रिक्त स्थान का उपयोग कर सकते हैं। और इंटरैक्टिव दुभाषिया में, आपको 4 रिक्त स्थान टाइप करने की आवश्यकता नहीं है। यहां मैं कीस्ट्रोक की संख्या को कम करने के लिए दो रिक्त स्थान का उपयोग कर रहा हूं।

if 1 == 1: 
    print('Hello Kitty') 
    print('Oh no, only two spaces for a new block') 

tab: complete अक्षम करने के लिए, आप निम्न कार्य कर सकते हैं।

या अपने घर .pythonrc
फ़ाइल में निम्न पंक्तियां जोड़ें और

import readline 
readline.parse_and_bind("set disable-completion on") 
readline.parse_and_bind("tab: self-insert") 

संपादित अपने ~/.bashrc फ़ाइल को सहेजने और जोड़ने के निम्न पंक्ति

export PYTHONSTARTUP=$HOME/.pythonrc 

प्रारंभ बुलाया निर्देशिका पर एक फ़ाइल को संपादित python3 दुभाषिया। Tab को इस तरह काम करना चाहिए।

या, आप टैब के बजाय किसी अन्य कुंजी पर पूरा बाध्य कर सकते हैं, और आप दोनों दुनिया का सबसे अच्छा लौकिक मिलेगा।

+0

पूरी तरह से काम किया। मेरे टैब इंडेंटेशन वापस मिला! – kurzweil4

0

तो मैं विंडोज़ में ऐसा कैसे करूं? गर्दन में यह एक बड़ा दर्द है। ')

टैब :: संदेश {अंतरिक्ष} {अंतरिक्ष} {अंतरिक्ष} {अंतरिक्ष;

वास्तव में, सरल समाधान उत्कृष्ट मुक्त AutoHotkey कुंजीपटल प्रोग्रामर पाने के लिए, और .ahk फ़ाइल में इस डाल था }

(आपका संपादक तथ्य यह है कि भेजें प्रदर्शित नहीं करता है *** दूसरी लाइन पर है।)

+0

विंडोज में कोई भी भरोसेमंद कैसे करता है। –

1

अपने संपूर्ण खाते के लिए वातावरण चर सेट किए बिना इस व्यवहार बाहर संपादित करने के लिए, आप कर सकते हैं ~/.local/lib/python3.4/site-packages/usercustomize.py में प्रारंभिकरण। @HaleemurAli के रूप में लिखा है, टैब-पूरा होने के निष्क्रिय करने के लिए कोड है:

import readline 
readline.parse_and_bind("set disable-completion on") 
readline.parse_and_bind("tab: self-insert") 
1

यह 3.4 और 3.5 के नवीनतम संस्करण में तय किया जाना चाहिए (जो पूर्ववत), और निकट भविष्य के लिए शायद सब भविष्य के संस्करणों।

http://bugs.python.org/issue23441#msg247482