Vimの `J`および` gq`コマンドでピリオドの後に1つのスペースを使用するにはどうすればよいですか?


101

VimのJコマンドを使用すると、ほとんどの行がパディングのために1つのスペースで結合されます。しかし、期間の後、Vimは常に2つのスペースを使用します。次の例を見てください。

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?

コンマの後の1つのスペース、ピリオドの後の2つのスペース。gqコマンドを使用して段落を再フォーマットした場合も同様です。

期間後にVimが1つのスペースのみを使用するように変更できる設定はありますか?


1
誰もがこのデフォルトの根拠を理解していますか?
Ciro Santilli郝海东冠状病六四事件法轮功


5
@DenilsonSá:tldr; 文章の間に2つのスペースを入れることは、かつてはベストプラクティスであると考えられていましたが、それはまだ一部の人々によって行われています。
Flimm 2014年

回答:


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.

だから、あなたは

:set nojoinspaces

あなたが望むものを得るために。

または、次のコマンドで設定を切り替えることもできます

:set joinspaces!


弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.