1. ホーム
  2. vim

[解決済み] Vim の `J` と `gq` コマンドでピリオドの後にスペースを入れるにはどうしたらいいですか?

2022-11-14 21:54:26

質問

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 つだけ使用するように変更できる設定はありますか?

どのように解決するのですか?

: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!