Wie kann ich dafür sorgen, dass Vims "J" - und "gq" -Befehle nach einem Punkt ein Leerzeichen verwenden?


100

Wenn ich den JBefehl von Vim verwende , werden die meisten Zeilen mit einem einzigen Leerzeichen zum Auffüllen verbunden. Aber nach einer gewissen Zeit verwendet Vim immer zwei Leerzeichen. Nehmen Sie das folgende Beispiel:

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

Für mich ist das Ergebnis:

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

Ein Leerzeichen nach dem Komma, zwei nach dem Punkt. Gleiche Geschichte, wenn Sie den Absatz mit dem gqBefehl neu formatieren .

Gibt es eine Einstellung, die ich ändern kann, damit Vim nach dem Zeitraum nur ein Leerzeichen verwendet?


1
Versteht jemand die Gründe für diese Standardeinstellung?
Ciro Santilli 法轮功 冠状 病 六四 事件 23


5
@ DenilsonSá: tldr; Das Setzen von zwei Leerzeichen zwischen Sätzen galt früher als bewährte Methode, und einige Leute tun dies immer noch.
Flimm

Antworten:


105
: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.

Also würdest du eine machen

:set nojoinspaces

um zu erhalten, was Sie wünschen.

Alternativ können Sie die Einstellung mit umschalten

:set joinspaces!


Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.