Bagaimana cara saya memilih blok teks yang baru saja saya tempel di Vim?

13

Saya biasanya perlu memindahkan / menyalin cuplikan kode di antara file sumber saya. Setelah saya tempel blok teks, saya biasanya perlu menerapkan beberapa operasi ke blok itu seperti meng-reinden dengan mereka =.

Apakah ada cara untuk dengan mudah memilih blok teks yang baru saja saya tempel tanpa melakukannya secara manual?

thameera
sumber

Jawaban:

21

Tanda '[dan ']membatasi baris pertama dan terakhir dari teks yang sebelumnya diubah atau disentak. The `[dan `]rekan-rekan membatasi masing-garis & kolom.

Dengan menggunakan itu, Anda dapat secara visual memilih blok baris yang diubah terakhir '[V']dan kemudian menerapkan =perintah.

Namun, karena pasta meninggalkan kursor Anda di baris pertama dari konten yang ditempelkan, Anda juga bisa menentukan gerakan di mana =perintah harus diterapkan, dalam hal ini untuk ']menandai. Ini akan menjadi ='].

jamessan
sumber
Jawaban ini menjelaskan metode yang berfungsi untuk semua jenis pilihan visual (termasuk visual blockwise): stackoverflow.com/questions/4312664/…
Adam Byrtek
14

Pemetaan ini memungkinkan Anda untuk memilih kembali teks yang baru saja Anda tempel:

nnoremap gV `[v`]

Tetapi Anda harus menggunakan [pdan ]psebagai gantinya.

Lihat :help [p.

romainl
sumber
2
+1 untuk [pdan]p
lisowski.r
3

Vim mencakup pemetaan bermanfaat berikut:

`[

dan

`]

Yang memilih karakter pertama dan terakhir dari teks yang sebelumnya diubah, masing-masing.

Serangkaian tombol berikut (dalam mode normal) akan memilih teks yang disisipkan terakhir:

`[v`]

Untuk akses yang lebih cepat, Anda dapat mengatur pemetaan, misalnya :

nnoremap gp `[v`]
Asfallows
sumber