Chọn trực quan từ con trỏ đến dòng trống tiếp theo?


11

Làm thế nào để một người chọn từ dòng hiện tại đến dòng trống tiếp theo?

Tôi biết SHIFT+ Vnhưng sau đó tôi phải nhảy sang dòng trống tiếp theo hoặc nhấn phím xuống một loạt lần. Tôi biết làm thế nào để làm điều này tốt khi có một nhân vật phù hợp như một }nhưng tôi không biết làm thế nào để làm điều này cho một dòng trống.

Câu trả lời:


19

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 vipsẽ 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 paragraphcho 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.


12

Một lối tắt cho dòng trống tiếp theo là }. Vì vậy, bạn chỉ có thể muốn sử dụng SHIFT+v}


1

Chỉ cần nhấn Shift + }sẽ đưa đến dòng trống tiếp theo mà không có bất kỳ lựa chọn văn bản.

Với Sift + v + }, vim chọn văn bản từ vị trí con trỏ hiện tại đến dòng trống tiếp theo và bạn phải Bấm ESCđể thoát khỏi chế độ chọn


Tại sao Shift + }? Một đơn giản }không di chuyển. Xem câu trả lời khác.
Ralf

@Ralf Sift + }để gọi / nhập khung xoăn }trừ bàn phím của bạn trực tiếp hỗ trợ chèn }mà không cần nhấnShift
Junaid
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.