2011-07-19 43 views
8

Vim có một số chuyển động văn bản rất hữu ích như ib, i), i}, vân vân để nhanh chóng chọn một phần văn bản. Nhưng, tôi thường cần một khối bên trong trong chế độ dòng-khôn ngoan. Ví dụ (với số dòng):Làm thế nào để nhanh chóng chọn (bên trong) line-khôn ngoan trong Vim

1: $foo = array(
2:  'bar' => 'Bar', 
3:  'quux' => 'Quux', 
4: ); 

Bây giờ, khi con trỏ của tôi là trên dòng 2 hoặc 3 ở đâu đó và tôi nhấn vib hay vi), Vim chọn dòng 2, 3 và không gian thụt lề trên dòng 4. Tôi chỉ muốn dòng 2 và 3. Tôi đã thử với VibVi) nhưng chúng cũng giống như chữ thường v.

Có bất kỳ chuyển động văn bản dễ dàng nào hay cách nhanh chóng khác để chọn khối bên trong trong chế độ dòng khôn ngoan không?

Trả lời

2

Tôi đã tìm thấy một cách đơn giản hơn ở cuối: vim-indent-object cho phép tôi chọn các vùng văn bản dựa trên mức thụt đầu dòng. Điều này là khá nhiều điều tương tự xem xét mã nguồn của tôi luôn luôn là độc đáo thụt vào.

Bây giờ, nếu tôi về dòng 2 hoặc 3 trong ví dụ của tôi, tôi có thể chỉ cần nhấn vii để chọn đối tượng thụt đầu dòng bên trong, và nó chọn dòng 2 và 3. Groovy!

4

tôi có thể nhận được downvotes cho điều này, nhưng tôi chỉ muốn làm một chuyển động lên hoặc xuống số dòng tôi cần, như Vj hay Vk như miễn là nó được biết đến.

Tôi có một ràng buộc chuyển đổi giữa đánh số tuyệt đối và tương đối (:set relativenumber) để dễ dàng nhận dạng trực quan miễn là chúng có trên màn hình.

+0

đây là cách tiếp cận đúng cho vấn đề cụ thể này, 'relativenumber' giúp ích rất nhiều, đặc biệt nếu có một loạt các dòng (khác với chỉ một cặp vợ chồng). – alfredodeza

+0

Cảm ơn thiết lập 'relativenumber'. Tôi không biết về điều đó. Thật không may, tôi đang chạy Debian Squeeze và nó tàu với Vim 7.2 mà không có nó. –

+0

+1 cho 'relativenumber' :-) – actionshrimp

3

Tôi đồng ý rằng sẽ thật tuyệt khi có hành vi mà bạn mô tả. Nếu bạn được xác định, thì bạn luôn có thể cuộn đối tượng văn bản tùy chỉnh của riêng mình bằng cách sử dụng khung công tác textobj-user của Kana. Tôi đã sử dụng điều này để tạo ra a text object for working with ruby blocks và thấy nó dễ dàng đến mức đáng kinh ngạc.

+0

Đối tượng văn bản tùy chỉnh âm thanh khá hữu ích. Cảm ơn! –

Các vấn đề liên quan