Как я могу заставить команды Vim `J` и` gq` использовать один пробел после периода?

Когда я использую команду Vim J, большинство строк объединяются с одним пробелом для заполнения. Но после периода 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

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

Ответ 3

:h 'joinspaces'

Установите для этой опции значение 0/false/no.