Làm cách nào để tôi căn giữa dòng hiện tại trong màn hình?


23

Có cách nào để căn giữa dòng tôi đang chỉnh sửa trên màn hình không? Điều này đôi khi cần thiết để xem thêm một chút bối cảnh bên trên và bên dưới dòng hiện tại.

Câu trả lời:


28

Các lệnh z.zzsẽ gọi lại dòng con trỏ đang bật. z.cũng di chuyển con trỏ đến ký tự không phải khoảng trắng đầu tiên trong dòng, trong khi zzvẫn giữ con trỏ ở vị trí đó.

Có các lệnh tương tự cho đỉnh ( z<CR>/ zt) và dưới cùng ( z-/ zb) của cửa sổ.

Các phiên bản của các lệnh kết thúc bằng một chữ cái giữ cột con trỏ, trong khi các lệnh kết thúc bằng dấu chấm di chuyển con trỏ.


6

Nhập zzđể căn giữa dòng hiện tại trong màn hình:

nhập mô tả hình ảnh ở đây


Hoàn hảo! Tôi đã thêm phần này vào autocmd BufReadPost của mình để tôi tiếp tục chỉnh sửa với dòng con trỏ được khôi phục và căn giữa trên màn hình:au BufReadPost * if line("'\"") > 1 && line("'\"") <= line("$") | "normal! g'\"zz"
John P

Upvote cho hoạt hình :-)

2

Có, trong chế độ bình thường, bạn có thể sử dụng zzđể làm như vậy. Nhưng khi các tài liệu báo trước, hãy cẩn thận với capslock vì ZZsẽ ghi bộ đệm vào tệp và thoát.


Vì bất kỳ lý do gì, điều này đã trở thành một điểm gây tranh cãi lớn trên một luồng SO / SE khác ... sự đồng thuận dường như là bạn nên giữ phím shift vô thời hạn khi cần thiết và sắp xếp lại khóa phím ở cấp hệ thống để loại bỏ cám dỗ, et voilà , không có thêm mũ khóa whoopsies. Nếu không thì đó là lỗi của bạn. Tôi đoán rằng họ chưa bao giờ phải đối phó với các macro tiền xử lý ...
John P

1

Ở chế độ bình thường, zzsẽ di chuyển dòng hiện tại dưới con trỏ đến giữa màn hình.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.