Vim: gói từ cho tài liệu


7

Cách tốt nhất để thực hiện gói từ cho một tài liệu là vimgì?
Tôi muốn có mỗi dòng bao gồm 80 ký tự, không chỉ bao bọc trực quan mà còn nhập một dòng mới.

Tôi có loại công việc này bằng cách sử dụng

:set wrap
:set linebreak

Nhưng nếu tôi quay lại và chèn văn bản vào một dòng trước đó, nó sẽ không điều chỉnh phần còn lại của đoạn văn. Nó lấy văn bản tràn và đặt nó lên một dòng mới, nhưng dòng đi sau không được di chuyển lên để điền vào chỗ trống.

Vì vậy, nếu tôi chỉnh sửa một dòng trước đó, đoạn văn của tôi có thể trông như thế này

A line that is 80 characters long
short line
A line that is 80 characters lone

Tôi muốn nó được như thế này:

A line that is 80 characters long
short line A line that is 80
characters long

Câu trả lời:


17

wraplinebreakkiểm soát việc hiển thị văn bản, tôi nghĩ bạn sẽ thấy họ không thực sự chèn dòng mới vào tệp. Để có được vim để chèn dòng mới vào tệp khi bạn nhập, hãy đặt thành textwidthchiều rộng mong muốn (ví dụ 80).

Điều đó sẽ vẫn không tự động chỉnh lại các dòng tiếp theo khi bạn chèn thêm văn bản. Tôi thường làm điều đó bằng tay gq}, nhưng tôi chỉ phát hiện ra rằng nó set formatoptions+=asẽ bảo vim tự động làm điều đó. Xem trợ giúp choauto-format .


formatoptions+=arất hữu ích, cảm ơn!
jonescb

4

Các gq}kết thúc một đoạn để textwidth. Hãy chắc chắn set tw=80đầu tiên. Nhiều bản đồ phân phối đến Q. Vì vậy, bạn cũng có thể sử dụng Q}thay thế.


1

Tôi sử dụng parđể định dạng, nó thậm chí có thể bao bọc từ với một tiền tố hiện có, trong bối cảnh của email chẳng hạn.

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.