Was ist der Befehl für “ Alle auswählen ” in vim und VsVim?

Wie wähle ich den gesamten Inhalt einer Datei in Vim und VsVim aus? Wie in anderen Editoren erledigt ctrl+A die Aufgabe, alle auszuwählen.

Kommentare

  • SibiCoder ' Die Antwort ist gut, aber es wäre hilfreich zu wissen, was Sie mit dem kopierten Inhalt tun möchten.
  • Zuerst " Wählen Sie " Text in einem " Puffer ", nicht in a " Datei ". Zweitens: " Die Auswahl von " ist in Vim häufig nutzlos. Sie müssen sich also klar darüber sein, was Sie mit dieser Auswahl ". Für Sie und für uns.
  • Ich denke, das OP bedeutet, die gesamte Datei im visuellen Modus auszuwählen, wenn man bedenkt, dass ctrl+a in anderen Editoren die gesamte Datei visuell hervorhebt .
  • @statox Warum haben Sie vsvim out bearbeitet? ' ist für mich keine große Sache, aber ich denke, das Tag ist perfekt geeignet, und ich wollte nicht ' einsteigen ein Editierkrieg. (Ich hätte Sie in :chat! gepingt, aber Sie waren ' in letzter Zeit nicht in diesem Raum, also wäre es nicht ' lass mich nicht)
  • @DJMcMayhem: Es war ein Fehler: Ich dachte zuerst, dass vsvim wie und diese Art von Plugins für andere Software und war daher nicht zum Thema, also habe ich sie entfernt, dann hatte ich Zweifel, also habe ich Meta überprüft und gesehen, dass es war Ich habe Ihre Tag-Bearbeitung genehmigt, aber vergessen, die Frage erneut zu bearbeiten. Ich ' ändere das gerade, tut mir leid.

Antwort

ggVG wählt den gesamten Inhalt aus. gg wechselt in die erste Zeile. V startet den visuellen Modus. G springt zur letzten Zeile und wählt dabei von der ersten zur letzten Zeile aus.

Kommentare

  • Ich bekomme immer nein ein vim-Befehl für ggVG und gg, sogar G
  • 77 Upvotes und als akzeptierte Antwort markiert, aber ' ist falsch? Selbst nach dem Text der Antwort selbst wäre die Kombination VggG.

Antwort

Zusammen mit SibiCoder “ Wenn Sie eine klare Vorstellung davon haben, was Sie tun möchten, können Sie Folgendes verwenden:

:%X 

Wobei X ist ein Befehl, zum Beispiel:

:%d -> delete every line :%y -> yank every line :%normal! >> -> indent every line 

Sie haben auch den globalen Befehl :g, mit dem Das Suchmuster ^ kann dasselbe tun:

:g/^/d -> delete every line :g/^/y -> yank every line :g/^/normal! >> -> indent every line 

Wenn Sie den Text auswählen möchten, dann ist ggVG in Ordnung, aber beachten Sie diese Methode, falls Sie bereits wissen, was der nächste Schritt ist. Beachten Sie, dass der Cursor nicht im visuellen Modus belassen wird.

Siehe: :h :% und :h :g als Referenz.


Beachten Sie dies jedoch Die Zuordnung C-A wird in vim verwendet (siehe :h CTRL-A). Sie können sie zuordnen Machen Sie das, was andere Editoren tun:

nnoremap <C-A> ggVG 

Antwort

Die anderen Antworten sind gut . Hier ist eine weitere Alternative.

Da Sie erwähnen, dass Sie VsVim verwenden, können Sie ändern, welche Schlüssel von Visual Studio und welche von vsvim verarbeitet werden. Gehen Sie zu

Extras -> Optionen -> VsVim -> Tastatur

Von dort aus können Sie Strg-a auf einstellen wird von Visual Studio und nicht von VsVim verarbeitet.

Obwohl ich dies nicht empfehle, da Sie vim „s <C-a>, die ich finde, nicht verwenden können ein wesentliches Merkmal sein. Obwohl es an Ihnen liegt.

Antwort

Sie können eine große Zahl wie 99999yy , um den gesamten Inhalt Ihrer Datei auszuwählen.

Kommentare

  • Dateien größer als 100000 Zeilen sind möglich, wenn auch selten. Wenn Sie yy verwenden, werden sie gezogen , nicht Wählen Sie sie aus.
  • Sie sind sicher, dass Sie Recht haben, aber wenn Sie etwas auswählen, ist es in den meisten Fällen ', sie zu schneiden, zu kopieren oder zu löschen 🙂
  • Das ' ist das, was ich brauchte. Wählen Sie alle aus und ziehen Sie.
  • Nur :%y ist genug. Oder :%y +, um alles im Register + zu ziehen.

Antwort

Antwort

Wenn Sie „d Wie eine schnellere / intuitivere Möglichkeit, dies zu tun und kein Plugin hinzuzufügen, sieht dies praktisch aus: https://github.com/kana/vim-textobj-entire

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert.