Yank Wörter nur durch Punkte getrennt

7

Ich habe eine Zeile wie diese in einer Datei

%Vor%

Mit dem Cursor über das 'r' in 'Server', wie kann ich 'app.server.name' jcken, ohne in den visuellen Modus zu gehen, oder ohne die Anzahl der zu ruckenden Wörter erraten zu müssen.

yiw wird nur das Wort zwischen den Punkten ziehen.

    
centerback 27.10.2011, 09:27
quelle

2 Antworten

20
%Vor%

B (um Sie an den Anfang des punktierten Wortes zu bringen)

yt< (um vorwärts zu zerren, bis auf "& lt;").

    
odrm 27.10.2011, 09:34
quelle
11

1. Schnell und schmutzig: Fügen Sie Punkte in das Wort

ein %Vor%

Nun y i w wird tun, was Sie wollen:)

2. Richtige Lösung: Definieren Sie ein Textobjekt

Wie Benoit erwähnt, sind die obigen möglicherweise Nebenwirkungen, die Sie nicht wollen 1

In einer früheren Antwort (vim: Wählen Sie innerhalb von Punkten ) Ich beschreibe, wie ein Textobjekt definiert wird, um innerhalb Punkte (siehe unten) auszuwählen. Auf dieser Grundlage können Sie ein ähnliches Textobjekt definieren, das Wörter einschließlich Punkten auswählt:

Dies erfordert keine Änderungen an der Einstellung iskeyword :)

%Vor%      

Beispiele für den folgenden Pufferinhalt ( Cursor auf dem Buchstaben w ):

%Vor%      
  • v . wählt some-property-with-hyphens. im visuellen Modus
  • aus   
  • v a . wählt .some-property-with-hyphens. im visuellen Modus
  • aus   
  • v i . wählt some-property-with-hyphens im visuellen Modus
  • aus   

Bewegungen können verkettet werden und akzeptieren ein count :

     
  • v . . wählt some-property-with-hyphens.SUB. im visuellen Modus
  • aus   
  • v 2. auch wählt some-property-with-hyphens.SUB. im visuellen Modus
  • aus   
  • v 2 a . wählt .some-property-with-hyphens.SUB. im visuellen Modus
  • aus   
  • v 2 i . wählt some-property-with-hyphens.SUB im visuellen Modus
  •   

Sie können die Operatoren als Operatoren für jeden Bearbeitungsbefehl verwenden:

     
  • d . ergibt someobject.SUB.otherproperty
  •   
  • c i . Kurzname ergibt someobject.shortname.SUB.otherproperty
  •   
  • c 2 . erhalten (" Ergebnisse in someobject.get("otherproperty
  •   

Es spielt keine Rolle, wo in einem 'dot-delimited-identifier' der Cursor beginnen soll. Beachten Sie, dass alle visuellen Moduszuordnungen den Cursor am Ende der Auswahl positionieren (Sie können also die Auswahl beispielsweise um % und andere Bewegungen erweitern).

1 sehen Sie ein paar Hintergrundinformationen hier: vim : Wählen Sie innerhalb von Punkten

    
sehe 27.10.2011 13:31
quelle

Tags und Links