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 Sieyy
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
Wie @SibiCoder bereits erwähnt hat ggVG
den Trick , aber ich mag etwas näher an Ctrl+A
.
Also habe ich diese Zeile zu meiner .vimrc
hinzugefügt
nnoremap <leader>a ggVG
Wenn Sie jetzt <leader>a
drücken, wird alles ausgewählt, in meinem Fall \a
.
Kommentare
- Willkommen bei Vi und Vim ! Theoretisch könnten Sie Kartensteuerung a (
<C-a>
), aber es hat zufällig eine nützliche Standardfunktionalität - Ja, diese ' s warum ich
<leader>a
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