Sachverhalt: A. Die Staatsanwaltschaft des Kantons St. Gallen (Untersuchungsamt Gossau) führt eine Strafuntersuchung gegen A._ wegen des Verdachts der versuchten schweren Körperverletzung, der Tätlichkeiten, der Sachbeschädigung und des Hausfriedensbruchs. Sie wirft ihm vor, er habe am 12. Oktober 2019 gegen die Tür eines Studios gehämmert, in welchem B._ und C._ gewohnt hätten. Anschliessend habe A._ die Türe gewaltsam geöffnet und C._ mit der flachen Hand gegen die linke Kopfhälfte geschlagen. Darauf habe er B._ gepackt und dessen Kopf mehrfach derart heftig gegen die Kochherdplatte geschlagen, dass diese zerbrochen sei. B._ habe Kopfverletzungen erlitten, die im Spital hätten behandelt werden müssen. Am 12. Oktober 2019 nahm die Polizei A._ fest. Am 16. Oktober 2019 versetzte ihn der Zwangsmassnahmenrichter am Kreisgericht Wil bis zum 22. November 2019 in Untersuchungshaft. Am 26. November 2019 verlängerte der Zwangsmassnahmenrichter die Untersuchungshaft bis 10 Tage nach Eingang des psychiatrischen Gutachtens, längstens bis zum 26. Februar 2020. Die von A._ hiergegen erhobene Beschwerde wies die Anklagekammer des Kantons St. Gallen am 15. Januar 2020 ab (Dispositiv Ziffer 1). Sie auferlegte A._ die Verfahrenskosten und befreite ihn einstweilen von deren Bezahlung (Dispositiv Ziffer 2). Sie bejahte nebst dem dringenden Tatverdacht Wiederholungsgefahr. Mildere Ersatzmassnahmen anstelle der Untersuchungshaft erachtete sie als untauglich. B. A._ führt Beschwerde in Strafsachen mit dem Antrag, die Dispositiv Ziffern 1 und 2 des Entscheids der Anklagekammer aufzuheben. Er sei umgehend aus der Untersuchungshaft zu entlassen. Eventualiter seien verhältnismässige Ersatzmassnahmen (z.B. Rayon- oder Kontaktverbote) anzuordnen. C. Die Anklagekammer hat auf Gegenbemerkungen verzichtet. Die Staatsanwaltschaft hat sich vernehmen lassen mit dem Antrag, die Beschwerde abzuweisen, soweit darauf einzutreten sei. A._ hat auf eine Replik verzichtet.