ईओएफ के बाद मैं विम को हमेशा कई लाइनें कैसे दिखाऊं?


15

विम में, मुझे पसंद नहीं है कि जब आप फ़ाइल के अंत तक पहुँचते हैं तो यह स्क्रीन के निचले भाग में अंतिम पंक्ति डालता है।

वहाँ वैसे भी अंतिम पंक्ति बनाने के लिए स्क्रीन के नीचे 10 लाइनों की तरह कुछ है और सिर्फ इसके तहत खाली लाइनें बनाते हैं?


2
जब आपका कर्सर फ़ाइल की अंतिम पंक्ति तक पहुंचता है, तो यदि आप zzइसे हिट करते हैं तो यह स्क्रीन को फिर से रीडायरेक्ट करेगा और वर्तमान लाइन को विंडो के केंद्र में स्थित करेगा जिसे ~EOF के बाद कुछ लाइनों को प्रदर्शित करना चाहिए ।
user9433424

हां, लेकिन यदि आप कर्सर को फिर से नीचे की ओर ले जाते हैं।
मिगुएल वेरा

3
ऐसा लगता है कि आपके पास scrolloffविकल्प सेट है। कोशिश करो :set scrolloff=0और वह व्यवहार बदलना चाहिए।
टम्बलर 41

1
आप यहां अपना उत्तर पढ़ सकते हैं: stackoverflow.com/questions/7406814/… इस पर और भी उत्तर हैं, मूल रूप से यह संभव नहीं है, केवल वर्कअराउंड के साथ।
माइक

वास्तव में व्यवहार को सही किया गया है! धन्यवाद
मिगुएल वेरा

जवाबों:


16

आप ctrlEअपनी फ़ाइल को नीचे स्क्रॉल करने के लिए उपयोग कर सकते हैं , जब आप फ़ाइल के अंत में होते हैं तो यह "वर्चुअल" लाइन जोड़ देगा ताकि फ़ाइल की अंतिम पंक्ति विंडोज़ के नीचे न हो।

इसके अतिरिक्त आप विकल्प scrolloffका उपयोग हमेशा अपने कर्सर के बाद कुछ लाइनों को करने के लिए कर सकते हैं , इसे अपने में जोड़ें .vimrc:

set scrolloff=10

अधिक जानकारी के लिए देखें :h 'scrolloff'और :h CTRL-E


1
दुर्भाग्य से, scrolloff10 पर सेट करना अभी भी लाइनों को नहीं दिखाएगा जैसे कि ओपी चाहता था।
तुम्बलर 41

दरअसल, यही कारण है कि मैं का उपयोग कर सुझाव दिया है CTRL-Eऔर scrolloffबस "अतिरिक्त"। अब यह एक आंशिक समाधान है, ओपी इसे स्वीकार करने के लिए स्वतंत्र है क्योंकि यह पूरी तरह से सवाल का जवाब नहीं देता है।
statox

1
हालांकि यह सिर्फ एक आंशिक समाधान है मुझे लगता CTRL-Eहै कि मैं क्या देख रहा था। मैं प्यार करता हूँ अगर वहाँ EOF के बाद लाइनों स्वचालित रूप से प्रदर्शित करने के लिए एक रास्ता था।
मिगुएल वेरा

@ विग मुझे खुशी है कि यह आपकी आवश्यकताओं के अनुरूप है। मुझे लगता है कि मैपिंग बनाना संभव हो सकता है जो <C-e>आपको स्क्रॉल करने पर कॉल करेगा लेकिन मुझे यकीन नहीं है कि यह सही ढंग से काम करेगा ... मैं कोशिश करूँगा और देखूंगा कि क्या करना संभव है लेकिन मुझे यकीन नहीं है कि मैं ' कुछ सुविधाजनक बनाने में सक्षम हो जाएगा।
statox

2

सबसे आसान समाधान, मेरी राय में, जोड़ने था zzकरने के लिए jऔर k। यह आपके कर्सर को केंद्रित करने का प्रमुख दुष्प्रभाव है। मुझे कोई आपत्ति नहीं है और बहुत पसंद है कि वह मेरी गर्दन को सहलाए। मैंने कोशिश की scrolloffऔर CTRL-Eबस असहज हूं ।

निम्न :.vimrc में टाइप करें

nnoremap j jzz

nnoremap k kzz

Sourced: http://vim.wikia.com/wiki/Keep_your_cursor_centered_vertically_on_the_screen

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