Come posso fare in modo che i comandi "J" e "gq" di Vim utilizzino uno spazio dopo un punto?


101

Quando uso il Jcomando di Vim , la maggior parte delle linee sono unite con un unico spazio per il riempimento. Ma dopo un periodo Vim usa sempre due spazi. Prendi il seguente esempio:

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

Per me il risultato è:

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

Uno spazio dopo la virgola, due dopo il punto. Stessa storia se riformatti il ​​paragrafo con il gqcomando.

C'è un'impostazione che posso modificare per fare in modo che Vim usi solo uno spazio dopo il punto?


1
Qualcuno capisce la logica di questa impostazione predefinita?
Ciro Santilli 郝海东 冠状 病 六四 事件 法轮功


5
@ DenilsonSá: tldr; mettere due spazi tra le frasi era considerato una buona pratica, e lo è ancora da alcune persone.
Flimm

Risposte:


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.

Quindi, faresti un file

:set nojoinspaces

per ottenere ciò che desideri.

In alternativa, puoi alternare l'impostazione con

:set joinspaces!


Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.