VIM: Wie lösche ich 3 Wörter am Ende der Zeile im normalen Modus?

8

Was ist die kürzeste Kombination?

P.S. Normalerweise tue ich A Strg + w Strg + w Strg + w Esc .
Mit anderen Worten, ich muss in den Einfügemodus springen.

P. P. S. d b funktioniert nicht.

    
cutalion 20.01.2013, 18:11
quelle

5 Antworten

7

Diese Befehlsfolge,

%Vor%

ist der kürzeste Weg, um es zu tun, den ich mir im Moment vorstellen kann, aber es hinterlässt ein hässliches Leerzeichen.

%Vor%

ist ein anderer Weg, der den nachgestellten Raum loswird.

Sie können auch über den Tellerrand hinausschauen und mit Leerzeichen anstelle von Wörtern spielen:

%Vor%     
romainl 20.01.2013, 18:19
quelle
9

$ 3 b D übersetzt nach

  • $ bis zum Ende einer Zeile
  • 3 drei von was auch immer als nächstes
  • b rückwärts drei [eins ohne Modifikator] Wörter
  • D löschen Sie die Zeichen unter dem Cursor bis zum Ende der Zeile

Darüber hinaus können Sie auch den normalen Befehl im ex-Modus verwenden, um dasselbe %Vor%     

Konrad Reiche 20.01.2013 18:39
quelle
4

$ 3bD

Oder

$ 3bDx

... wenn Sie auch das nachgestellte Leerzeichen löschen möchten.

    
digitalronin 20.01.2013 18:14
quelle
4

Gehe zum Ende der Zeile, gehe 3 Wörter zurück und lösche dann bis zum Ende der Zeile: $ 3 b < kbd> D

oder

Gehe zum Ende der Zeile, lösche 3 Wörter und lösche das zusätzliche Zeichen: $ 3 d b x

    
Andrew Marshall 20.01.2013 18:14
quelle
4

Wie andere bereits erwähnt haben, ist bD die kürzeste und bDx wird ausreichen, um die verbleibenden Leerzeichen zu entfernen, vorausgesetzt, es ist genau ein Leerzeichen oder eine Registerkarte.

Um alle Leerzeichen zu berücksichtigen, kann gelD verwendet werden. Diese Option hat den Vorteil, dass sie in den meisten Fällen richtig aufgeräumt wird, aber sie schlägt fehl, wenn eine Zeile genau 3 Wörter enthält, weil die 3ge Bewegung zurück zur vorherigen Zeile springt.

Ein alternativer Ansatz basiert auf daw . Da 3daw vorwärts agiert, muss entweder $daw.. oder b3daw verwendet werden. Für 3 Wörter ist $daw.. kürzer und wahrscheinlich wünschenswerter, aber b3daw ist mehr Vim-esque und kann leicht auf mehr Wörter erweitert werden.

b , ge und w können durch B , gE und W ersetzt werden, um Wörter anstelle von Wörtern zu entfernen.

    
Nikita Kouevda 20.01.2013 21:22
quelle

Tags und Links