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.

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.


6

Ketik zzuntuk memusatkan garis saat ini di layar:

masukkan deskripsi gambar di sini


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.


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.

Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.