ฉันจะทำให้คำสั่ง "J" และ "gq" ของกลุ่มใช้ช่องว่างหลังช่วงเวลาหนึ่งได้อย่างไร


102

เมื่อฉันใช้Jคำสั่งของ Vim บรรทัดส่วนใหญ่จะเชื่อมด้วยช่องว่างเดียวสำหรับการขยาย แต่หลังจากช่วงเวลา Vim จะใช้ช่องว่างสองช่องเสมอ ใช้ตัวอย่างต่อไปนี้:

This ends with a comma,
but this ends with a period.
Join with 'J' and what do you get?

สำหรับฉันผลลัพธ์คือ:

This ends with a comma, but this ends with a period.  Join with 'J' and what do you get?

ช่องว่างหนึ่งช่องหลังเครื่องหมายจุลภาคสองช่องหลังจุด เรื่องเดียวกันถ้าคุณฟอร์แมตย่อหน้าด้วยgqคำสั่ง

มีการตั้งค่าที่ฉันสามารถปรับเปลี่ยนเพื่อให้ Vim ใช้ช่องว่างเพียงช่องเดียวหลังจากช่วงเวลาหรือไม่


1
มีใครเข้าใจเหตุผลของค่าเริ่มต้นนี้หรือไม่?
Ciro Santilli 郝海东冠状病六四事件法轮功


5
@ เดนิลสันซา: tldr; การเว้นวรรคสองช่องระหว่างประโยคที่ใช้ถือเป็นแนวทางปฏิบัติที่ดีที่สุดและบางคนก็ยังคงเป็นเช่นนั้น
Flimm

คำตอบ:


107
:help joinspaces


'joinspaces' 'js'    boolean    (default on)
            global
            {not in Vi}
    Insert two spaces after a '.', '?' and '!' with a join command.
    When 'cpoptions' includes the 'j' flag, only do this after a '.'.
    Otherwise only one space is inserted.
    NOTE: This option is set when 'compatible' is set.

ดังนั้นคุณจะทำ

:set nojoinspaces

เพื่อให้ได้มาซึ่งสิ่งที่คุณต้องการ

หรือคุณสามารถสลับการตั้งค่าด้วย

:set joinspaces!


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