Was ist der Befehl für "Alles auswählen" in vim und VsVim?

20

Wie wähle ich den gesamten Inhalt einer Datei in Vim und VsVim aus? Wie in anderen Editoren ctrl+Aerledigt der Job die Auswahl aller.

Armaan
quelle
3
Die Antwort von SibiCoder ist gut, aber es wäre nützlich zu wissen, was Sie mit den kopierten Inhalten machen wollen.
Law29
5
Zuerst "selektieren" Sie einen Text in einem "Puffer", nicht in einer "Datei". Zweitens ist "Auswählen" in Vim oft nutzlos. Sie müssen sich also darüber im Klaren sein, was Sie mit dieser "Auswahl" machen möchten. Für Sie und für uns.
Romainl
3
@romainly Ich denke, das OP bedeutet, die gesamte Datei im visuellen Modus auszuwählen, wenn man bedenkt, dass ctrl+ain anderen Editoren die gesamte Datei visuell hervorgehoben wird.
EvergreenTree
@statox Warum hast du vsvim herausgeschnitten? Es ist keine große Sache für mich, aber ich denke, das Tag ist perfekt geeignet und ich wollte mich nicht in einen Editierkrieg verwickeln lassen. (Ich hätte dich reingelegt :chat!, aber du warst in letzter Zeit nicht in diesem Raum, also ließ es mich nicht)
DJMcMayhem
@DJMcMayhem: Es war ein Fehler: Ich erster Gedanke, vsvimwie war vimperatorund diese Art von Plug - In für andere Software und war damit vom Thema , damit ich es entfernt, dann hatte ich einen Zweifel so ich Meta und geprüft sieht , dass sie auf Thema waren so ich hat die Bearbeitung Ihres Tags genehmigt, aber vergessen, die Frage erneut zu bearbeiten. Das ändere ich gerade, tut mir leid.
statox

Antworten:

26

ggVGWählt den gesamten Inhalt aus. ggwechselt in die erste Zeile. VStartet den visuellen Modus. Gspringt zur letzten Zeile und wählt dabei von der ersten bis zur letzten Zeile

SibiCoder
quelle
15

Zusammen mit der Antwort von SibiCoder können Sie Folgendes verwenden, wenn Sie eine klare Vorstellung davon haben, was Sie tun möchten:

:%X

Wo Xist ein Befehl, zum Beispiel:

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

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

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

Wenn Sie den Text auswählen möchten, ggVGist dies in Ordnung. Beachten Sie jedoch diese Methode, falls Sie bereits wissen, was der nächste Schritt ist. Beachten Sie, dass der Cursor nicht im visuellen Modus bleibt.

Siehe: :h :%und :h :gals Referenz.


Beachten Sie, dass Sie das C-AMapping , obwohl es in vim (siehe :h CTRL-A) verwendet wird, so zuordnen können, wie andere Editoren es tun:

nnoremap <C-A> ggVG
nobe4
quelle
3

Die anderen Antworten sind gut. Hier ist eine andere 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. Gehe zu

Extras -> Optionen -> VsVim -> Tastatur

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

Obwohl ich dies nicht empfehle, da Sie nicht in der Lage sein werden, vim's zu verwenden <C-a>, was ich für ein wesentliches Merkmal halte . Obwohl es an Ihnen liegt.

DJMcMayhem
quelle
-1

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

Adel Kihal
quelle
3
Dateien, die größer als 100000Zeilen sind, sind möglich, wenn auch selten. Auch die Verwendung yywird zerren sie nicht wählen sie.
DJMcMayhem
1
yah sicher, dass Sie Recht haben, aber wenn Sie etwas auswählen, ist es für die meisten Fälle zu schneiden, kopieren oder löschen :)
Adel Kihal