Как сделать так, чтобы команды Vim `J` и` gq` использовали один пробел после точки? - PullRequest
86 голосов
/ 21 января 2011

Когда я использую команду Vim J, большинство строк объединяются одним пробелом для заполнения. Но после периода Вим всегда использует два пробела. Возьмите следующий пример:

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 использовал только один пробел после точки?

Ответы [ 3 ]

92 голосов
/ 21 января 2011
: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!
24 голосов
/ 21 января 2011

Вам нужно :set nojoinspaces, чтобы избавиться от двойного пробела. Документация здесь

9 голосов
/ 21 января 2011
:h 'joinspaces'

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...