13 Stimmen

Alle Zeichen in einer Spalte über mehrere Zeilen hinweg ändern

Ich bin mir nicht sicher, wie ich erklären soll, was ich tun möchte, aber ich habe dies in Textmate gesehen und es war recht nützlich. Nehmen wir an, ich habe diesen Text:

:aa => foo,
:ab => foo,
:ac => foo,
:ad => foo

Nun möchte ich alle ersten Zeichen der Schlüssel (die 4 'a' in der lne) auswählen und entfernen, so dass das Ergebnis wie folgt aussieht:

:a => foo,
:b => foo,
:c => foo,
:d => foo

Eine Art visueller Modus, der Spalten und nicht Zeilen abrechnet.

9voto

John Kugelman Punkte 327535

Utilice Ctrl + V um in den visuellen Blockmodus zu wechseln. Sie können dann einen Textblock mit den normalen Bewegungstasten auswählen und die Taste x um sie zu löschen. I führt eine mehrzeilige Einfügung durch.

Voir :help ^V y :help visual-operators in vim für alle Details.

7voto

Marcin Punkte 1406

Verwenden Sie vim im Spaltenmodus. Um ihn zu verwenden, drücken Sie:

  1. Ctrl + V um in den Spaltenmodus zu wechseln.

  2. Wählen Sie die Spalten und Zeilen aus, in die Sie Ihren Text eingeben möchten.

  3. Shift + I um im Spaltenmodus in den Einfügemodus zu wechseln.

  4. Geben Sie den Text ein, den Sie eingeben möchten.

    Hinweis: Lassen Sie sich nicht von der Tatsache entmutigen, dass nur die erste Zeile geändert wird.

  5. Esc, um Ihre Änderung anzuwenden (oder alternativ Ctrl + C ).

Sie sehen nun, dass Ihre Änderungen übernommen wurden.

Quelle: Spaltenbearbeitungsmodus im VI .

2voto

Alanyst Punkte 1380

Verwenden Sie Strg-V, um im Blockmodus auszuwählen, und dann Richtungs- und Bearbeitungsbefehle, um den Rest zu erledigen. Siehe Wie entfernt man Anführungszeichen, die die ersten beiden Spalten in Vim umgeben?

1voto

Austin Taylor Punkte 5337

Sie suchen nach dem Modus Visual Block, der über Ctrl+V im Normalmodus. Funktioniert genau wie Alt+select in TextMate.

1voto

nathan Punkte 5203

Wie andere gesagt haben Ctrl-V ist die Antwort. Für ein Tutorial siehe Vimcast Folge " Auswählen von Spalten mit dem visuellen Blockmodus "

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X