Führen Sie die vorherige Ersetzung für eine andere Auswahl mit einem einzigen Tastendruck durch

8

Ich habe folgenden Befehl ausgeführt

:'<,'>s/2/digit/g

auf dem Code unten manuell visuell ausgewählt:

return _.round(this.getTotalAbs(), 2).toFixed(2);

Und es hat wie beabsichtigt funktioniert

return _.round(this.getTotalAbs(), digit).toFixed(digit);

Jetzt möchte ich den gleichen Ersatzbefehl für ein anderes Code-Snippet wiederholen, das manuell über den visuellen Auswahlmodus ausgewählt wurde, mit einem Tastendruck (falls möglich).

WitVault
quelle
Sie können :'<,den Pfeil nach oben eingeben. Es wird der vorherige Ersatz angezeigt. Sind Sie mit Zuordnungen einverstanden?
SibiCoder
@SibiCoder Ich möchte kein Mapping erstellen. Ich möchte den nativen Befehl verwenden, wenn er in vim verfügbar ist.
WitVault
Sie müssen eine Zuordnung erstellen, wenn Sie einen einzelnen Tastendruck wünschen.
Antony

Antworten:

15

Ich denke, Sie möchten tun, @:was den letzten ex-Befehl wiederholt.

Sehen :h @:

Beachten Sie, dass dieser Befehl im normalen Modus und im visuellen Modus aufgerufen werden kann. Auch in diesem Fall ist es nicht nützlich, aber Sie können ihm auch eine Zählung voranstellen.


Bearbeiten In den Kommentaren wies @Antony auf einen interessanten Befehl hin: :&( :h :&):

  • & kann im normalen Modus verwendet werden, um den letzten Ersatzbefehl ohne seine Flags zu wiederholen
  • :&& kann im Ex-Modus verwendet werden, um den letzten Ersatzbefehl zu wiederholen, wobei die Flags beibehalten werden.
statox
quelle
9
Oder :&&um die letzte Ersetzung mit denselben Flags zu wiederholen.
Antony
@ Anthony: Cooler Befehl, ich wusste es nicht.
Statox