apa perintah untuk "Select All" di vim dan VsVim?

22

Bagaimana cara memilih semua konten file di Vim dan VsVim? Seperti di editor lain ctrl+Amelakukan pekerjaan untuk memilih semua.

Armaan
sumber
3
Jawaban SibiCoder baik, tetapi akan berguna untuk mengetahui apa yang ingin Anda lakukan dengan konten yang Anda salin.
Law29
5
Pertama, Anda "memilih" beberapa teks dalam "buffer", bukan dalam "file". Dua, "memilih" sering tidak berguna di Vim sehingga Anda harus jelas tentang apa yang ingin Anda lakukan dengan "pilihan" itu. Untuk Anda dan kami.
romainl
3
Sungguh, saya pikir OP berarti memilih seluruh file dalam mode visual, mengingat ctrl+adi editor lain secara visual menyoroti seluruh file.
EvergreenTree
@statox Mengapa Anda mengedit vsvim ? Ini bukan masalah besar bagi saya, tetapi saya pikir tag ini sangat tepat, dan saya tidak ingin terlibat dalam perang edit. (Saya akan mengirim Anda :chat!, tetapi Anda belum berada di ruangan itu baru-baru ini, jadi saya tidak akan membiarkannya)
James
@DJMcMayhem: Itu adalah kesalahan: Saya pertama kali berpikir vsvimitu seperti vimperatordan plugin semacam ini untuk perangkat lunak lain dan dengan demikian di luar topik jadi saya menghapusnya, maka saya ragu jadi saya memeriksa meta dan melihat bahwa itu pada topik jadi saya menyetujui pengeditan tag Anda tetapi lupa mengedit pertanyaan lagi. Saya mengubah itu sekarang, maaf untuk itu.
statox

Jawaban:

27

ggVGmemilih semua konten. ggpindah ke baris pertama. Vmemulai mode visual. Gmelompat ke baris terakhir sehingga memilih dari baris pertama ke baris terakhir

SibiCoder
sumber
15

Bersamaan dengan jawaban SibiCoder, jika Anda memiliki gagasan yang jelas tentang apa yang ingin Anda lakukan, Anda dapat menggunakan yang berikut:

:%X

Di mana Xada perintah, misalnya:

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

Anda juga memiliki perintah global :gyang, dengan pola pencarian ^, dapat melakukan hal yang sama:

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

Jika yang Anda inginkan adalah memilih teks, maka ggVGboleh saja, tetapi ingat metode ini, jika Anda sudah tahu apa langkah selanjutnya. Perhatikan bahwa kursor tidak akan meninggalkan dalam mode visual.

Lihat: :h :%dan :h :guntuk referensi.


Perhatikan bahwa, meskipun C-Apemetaan digunakan dalam vim (lihat :h CTRL-A), Anda dapat memetakannya untuk melakukan apa yang dilakukan oleh editor lain:

nnoremap <C-A> ggVG
nobe4
sumber
4

Jawaban lainnya bagus. Inilah alternatif lain.

Karena Anda menyebutkan bahwa Anda menggunakan VsVim, Anda bisa mengubah kunci mana yang ditangani oleh Visual Studio, dan kunci mana yang ditangani oleh vsvim. Pergi ke

Alat -> Opsi -> VsVim -> Keyboard

Dari sana Anda dapat mengatur Ctrl-a untuk ditangani oleh Visual Studio, daripada VsVim.

Meskipun saya tidak merekomendasikan ini karena Anda tidak akan dapat menggunakan vim <C-a>, yang saya temukan sebagai fitur penting. Meskipun terserah kamu.

James
sumber
0

Anda dapat menggunakan angka besar seperti 99999yy untuk memilih semua konten file Anda

Adel Kihal
sumber
3
File yang lebih besar dari 100000garis dimungkinkan, meskipun jarang. Juga, menggunakan yyakan menarik mereka, bukan memilihnya .
James
1
yah yakin Anda benar tetapi ketika memilih sesuatu itu untuk sebagian besar kasus untuk memotong, menyalin atau menghapusnya :)
Adel Kihal
Itu yang saya butuhkan. Pilih semua dan tarik.
Ivan