ฉันจะทำให้ Vim แสดงหลายบรรทัดหลังจาก EOF ได้อย่างไร


15

ในกลุ่มฉันไม่ชอบว่าเมื่อคุณไปถึงจุดสิ้นสุดไฟล์แล้วจะใส่บรรทัดสุดท้ายที่ด้านล่างของหน้าจอ

มีอยู่แล้วเพื่อให้บรรทัดสุดท้ายเป็นอะไรบางอย่างเช่น 10 บรรทัดด้านบนด้านล่างของหน้าจอและเพียงแค่ทำบรรทัดว่างเปล่าใต้?


2
เมื่อเคอร์เซอร์ของคุณไปถึงบรรทัดสุดท้ายของไฟล์หากคุณกดzzมันจะวาดหน้าจอใหม่และวางตำแหน่งบรรทัดปัจจุบันที่กึ่งกลางของหน้าต่างซึ่งควรแสดงสองสาม~บรรทัดหลังจาก EOF
user9433424

ใช่ แต่ถ้าคุณเลื่อนเคอร์เซอร์ไปที่ตำแหน่งด้านล่างอีกครั้ง
Miguel Vera

3
ดูเหมือนคุณจะได้scrolloffตั้งค่าตัวเลือก ลอง:set scrolloff=0และพฤติกรรมที่ควรเปลี่ยน
Tumbler41

1
คุณสามารถอ่านคำตอบของคุณได้ที่นี่: stackoverflow.com/questions/7406814/…มีคำตอบเพิ่มเติมสำหรับเรื่องนี้โดยทั่วไปเป็นไปไม่ได้เฉพาะกับวิธีแก้ไขปัญหาเท่านั้น
ไมค์

แน่นอนพฤติกรรมได้รับการแก้ไข! ขอบคุณ
Miguel Vera

คำตอบ:


16

คุณสามารถใช้ctrlEเพื่อเลื่อนลงไฟล์ของคุณเมื่อคุณอยู่ท้ายไฟล์มันจะเพิ่มบรรทัด "เสมือน" ดังนั้นบรรทัดสุดท้ายของไฟล์จะไม่อยู่ที่ด้านล่างของหน้าต่าง

นอกจากนี้คุณสามารถใช้ตัวเลือกscrolloffเพื่อให้บางบรรทัดหลังจากเคอร์เซอร์เพิ่มไปที่.vimrc:

set scrolloff=10

ดูรายละเอียดเพิ่มเติมและ:h 'scrolloff':h CTRL-E


1
น่าเสียดายที่การตั้งค่าscrolloffเป็น 10 จะไม่แสดงบรรทัดหลังจาก EOF เหมือนที่ต้องการ
Tumbler41

อันที่จริงที่ว่าทำไมฉันแนะนำให้ใช้CTRL-Eและ scrolloffเป็นเพียงแค่"เพิ่มเติม" ตอนนี้มันเป็นวิธีแก้ปัญหาบางส่วน OP ไม่มีอิสระที่จะยอมรับเพราะมันไม่ตอบคำถามอย่างสมบูรณ์
statox

1
แม้ว่ามันจะเป็นเพียงวิธีแก้ปัญหาบางส่วนฉันคิดว่าCTRL-Eเป็นสิ่งที่ฉันกำลังมองหา ฉันชอบที่จะมีวิธีในการแสดงบรรทัดหลังจาก EOF โดยอัตโนมัติแม้ว่า
Miguel Vera

@Miguel ฉันดีใจที่มันเหมาะกับความต้องการของคุณ ฉันคิดว่าอาจเป็นไปได้ที่จะสร้างการแมปซึ่งจะเรียก<C-e>เมื่อคุณเลื่อนลง แต่ฉันไม่แน่ใจว่ามันจะทำงานได้อย่างถูกต้อง ... ฉันจะลองดูว่าทำอะไรได้บ้าง แต่ฉันไม่แน่ใจว่าฉัน ' จะสามารถสร้างสิ่งที่สะดวก
statox

2

ทางออกที่ง่ายที่สุดในความคิดของฉันคือการเพิ่มzzการและj kมันมีผลข้างเคียงที่สำคัญของการอยู่ตรงกลางเคอร์เซอร์ของคุณ ฉันไม่รังเกียจและชอบที่จะใช้ craning คอมาก ฉันพยายามscrolloffแล้วCTRL-Eก็รู้สึกอึดอัด

พิมพ์ต่อไปนี้ใน:หรือ. vimrc

nnoremap j jzz

nnoremap k kzz

แหล่งที่มา: http://vim.wikia.com/wiki/Keep_your_cursor_centered_vertically_on_the_screen

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