2012-04-21 6 views
10

Ich arbeite mit Vim-Surround und den folgenden Text. (* Ist der Ort des Cursors)Umgeben Sie zwei Wörter mit Anführungszeichen in Vim

This is a lo*ng line and I want to highlight two words 

ich beide Wörter lang und Linie in Anführungszeichen umgeben wollen, so dass es

wird
This is a "long line" and I want to highlight two words 

Ist es möglich, es zu tun, ohne in visuelle zu bekommen Modus?

Antwort

20

Versuchen Sie: ys2w" (ys nimmt ein Bewegung oder Textobjekt, und dann das Zeichen, mit dem Sie umgeben möchten).

+0

Das funktioniert, wenn mein Cursor an * lang, aber da mein Cursor an ist lo * ng, es wird lo (ng line) – Sudar

+5

Sie könnten zuerst b drücken. – ngm

+11

Um zu vermeiden, zuerst zu bewegen: 'ys2aw" ' –

6

Presse b und dann ys2w"

3

Wenn Surround-Befehle verwenden, finde ich die logischste Lösung ist die „Markierung“ sequenzieren und die „Umgebung“ -Operationen.

So mit Textobjekten, verwende ich v2aw visuell markieren die beiden Wörter, dann s“für die insgesamt

v2aws" 
+0

Ich habe es gebunden. Scheint so, als ob es nur für das erste Wort existiert – Anji

+0

Huh? v2iw markiert visuell zwei innere Wörter. s "wird die visuelle Auswahl mit" "umgeben. Können Sie einen Beispieltext und eine Cursorposition geben, wo es nicht funktioniert? – Sarah

+0

Ich habe es mit" He * lo World "versucht. Cursor im normalen Modus * – Anji

Verwandte Themen