Bagaimana menjaga dalam mode visual setelah mengidentifikasi dengan shift +> dalam vim?

18

Saat ini ia keluar dari mode visual setelah indentasi sekali, yang sangat menjengkelkan.

new_perl
sumber
5
Untuk menjorok lebih dari sekali, cukup gunakan .kunci untuk mengulangi operasi terakhir
barbaz
Menggunakan. itu bagus. Tetapi kadang-kadang Anda perlu melakukan operasi yang berbeda dengan kode yang dipilih setelah indentig, seperti mencabut, misalnya. Dan Anda harus memilih semua lagi, yang menyebalkan
Santi

Jawaban:

25

Anda dapat menggunakan perintah mode normal gvuntuk menyorot pemilihan visual sebelumnya. Karena itu, Anda dapat menggunakan pemetaan berikut:

:vnoremap < <gv
:vnoremap > >gv

The :vnoremapperintah set up pemetaan yang akan bekerja hanya dalam mode visual. Karena itu Anda memutar ulang perintah mode <dan >visual untuk melakukan indentasi dan segera memilih kembali pemilihan visual sebelumnya.


sumber
4
Itu tidak benar. Harus digunakan vnoremapkarena vmapakan secara rekursif memetakan dan itu akan rusak
texasbruce
3
@texasbruce: Ini berfungsi baik bagi saya dengan vmap, namun saya telah mengedit jawabannya (dan .vimrc saya sendiri) untuk menggunakan vnoremap karena jelas lebih aman.
5

Menggunakan periode "." akan mengulangi lekukan teks yang dipilih sebelumnya jika itu adalah pengeditan teks terbaru. Ini tidak memilih ulang teks, tetapi melakukan pekerjaan dengan baik.

Hannes
sumber