Bagaimana cara memusatkan garis saat ini di layar?

23

Apakah ada cara untuk memusatkan garis yang saya edit di layar? Ini kadang-kadang diperlukan untuk melihat lebih banyak konteks di atas dan di bawah garis saat ini.

thameera
sumber

Jawaban:

28

The z.dan zzperintah akan recenter garis kursor berada. z.juga memindahkan kursor ke karakter non-spasi pertama di baris, sambil zzmenjaga kursor di tempatnya.

Ada perintah serupa untuk bagian atas ( z<CR>/ zt) dan bawah ( z-/ zb) dari jendela.

Versi-versi dari perintah-perintah ini yang berakhir dengan huruf menyimpan kolom kursor, sementara yang berakhir dengan tanda baca memindahkan kursor.

jamessan
sumber
6

Ketik zzuntuk memusatkan garis saat ini di layar:

masukkan deskripsi gambar di sini

Batalkan
sumber
Sempurna! Saya menambahkan ini ke autocmd BufReadPost saya jadi saya melanjutkan pengeditan dengan garis kursor dipulihkan dan terpusat di layar:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"
John P
2

Ya, dalam mode normal, Anda dapat menggunakannya zzuntuk melakukannya. Tetapi seperti yang diperingatkan oleh dokumen , berhati-hatilah dengan capslock karena ZZakan menulis buffer ke file dan berhenti.

HAL 9001
sumber
Untuk alasan apa pun ini menjadi titik pertengkaran besar pada utas SO / SE lain ... konsensus tampaknya adalah bahwa Anda harus menahan shift ke bawah tanpa batas waktu yang diperlukan dan memetakan kembali kunci caps lock pada tingkat sistem untuk menghilangkan godaan, dan kesalahan. , tidak ada lagi caps lock whoopsies. Kalau tidak, itu salahmu sendiri. Saya kira mereka tidak pernah berurusan dengan macro preprocessor ...
John P
1

Dalam mode normal, zzakan memindahkan garis saat ini di bawah kursor ke tengah layar.

Pythor
sumber