Làm cách nào để các lệnh `J` và` gq` của Vim sử dụng một khoảng trắng sau một dấu chấm?


101

Khi tôi sử dụng Jlệnh của Vim , hầu hết các dòng được nối với một khoảng trắng duy nhất để đệm. Nhưng sau một khoảng thời gian Vim luôn sử dụng hai dấu cách. Lấy ví dụ sau:

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

Đối với tôi, kết quả là:

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

Một dấu cách sau dấu phẩy, hai sau dấu chấm. Câu chuyện tương tự nếu bạn định dạng lại đoạn văn bằng gqlệnh.

Có cài đặt nào mà tôi có thể sửa đổi để Vim chỉ sử dụng một khoảng trắng sau dấu chấm không?


1
Có ai hiểu cơ sở lý do cho sự mặc định này?
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功


5
@ DenilsonSá: tldr; đặt hai dấu cách giữa các câu từng được coi là phương pháp hay nhất, và nó vẫn còn như vậy bởi một số người.
Flimm,

Câu trả lời:


106
: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.

Vì vậy, bạn sẽ làm một

:set nojoinspaces

để đạt được những gì bạn mong muốn.

Ngoài ra, bạn có thể chuyển đổi cài đặt với

:set joinspaces!


Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.