Vim hiểu khái niệm về một "đoạn". Định nghĩa của Vim về một đoạn văn là một khối văn bản được bao quanh bởi các dòng trống * . Có một số chuyển động và đối tượng văn bản để làm việc với điều này.
[count]}
- Di chuyển [count]
đoạn văn về phía trước. Bạn có thể sử dụng <S-v>}
để chọn tất cả các dòng từ dòng hiện tại đến dòng trống tiếp theo. Điều này sẽ bao gồm dòng trống, vì vậy bạn có thể muốn sử dụng <S-v>}k
.
[count]ip
- Chọn [count]
đoạn văn. Nó giống như iw
(từ bên trong) ngoại trừ, tốt, đoạn văn. Sử dụng vip
sẽ chọn tất cả các đoạn, thay vì từ dòng hiện tại đến cuối đoạn.
[count]ap
- như ip
, ngoại trừ việc này sẽ bao gồm các dòng trống xung quanh đoạn văn.
Một lưu ý ở đây là Vim không coi một dòng chỉ có khoảng trắng là "dòng trống". Vì vậy, hãy đảm bảo kiểm tra điều này (ví dụ với :set list
) nếu nó không hoạt động.
Cũng cần nhớ rằng bạn luôn có thể tìm kiếm các mẫu bạn muốn. Bạn có thể nhận được một dòng trống với /^$
; hoặc nếu bạn không muốn tự chọn dòng trống, bạn có thể sử dụng \n\n
để đặt con trỏ ở cuối dòng trước dòng trống đầu tiên:
<S-v>/^$<CR>
<S-v>/\n\n<CR>
* Có một số trường hợp ngoại lệ, xem :help paragraph
cho logic đầy đủ. Nhưng đối với hầu hết các ý định và mục đích định nghĩa này hoạt động tốt.
Shift + }
? Một đơn giản}
không di chuyển. Xem câu trả lời khác.