Làm cách nào để giữ chế độ trực quan sau khi xác định bằng shift +> trong vim?


18

Hiện tại nó thoát khỏi chế độ hình ảnh sau khi thụt lề một lần, điều này rất khó chịu.


5
Để thụt lề nhiều lần, chỉ cần sử dụng .phím để lặp lại thao tác cuối cùng
— barbaz

Sử dụng. tốt. Nhưng đôi khi bạn cần thực hiện một thao tác khác với mã được chọn sau khi thụt lề, chẳng hạn như kéo dài, chẳng hạn. Và bạn phải chọn lại tất cả, điều đó thật tệ
— Santi

Câu trả lời:


25

Bạn có thể sử dụng lệnh chế độ bình thường gvđể làm nổi bật lựa chọn hình ảnh trước đó. Do đó, bạn có thể sử dụng các ánh xạ sau:

:vnoremap < <gv
:vnoremap > >gv

Các :vnoremaplệnh thiết lập một bản đồ mà sẽ chỉ làm việc trong chế độ trực quan. Do đó, bạn đang đảo ngược các lệnh chế độ trực quan <và >trực quan để thực hiện thụt lề và ngay lập tức chọn lại lựa chọn hình ảnh trước đó.


4
Nó không đúng. Nên sử dụng vnoremapvì vmapsẽ lập bản đồ đệ quy và nó sẽ bị
— hỏng

3
@texasbruce: Nó hoạt động tốt với tôi với vmap, tuy nhiên tôi đã chỉnh sửa câu trả lời (và .vimrc của riêng tôi) để sử dụng vnoremap vì nó rõ ràng an toàn hơn.

5

Sử dụng khoảng thời gian "." sẽ lặp lại thụt lề của văn bản đã chọn trước đó nếu đó là lần chỉnh sửa mới nhất của văn bản. Điều này không chọn lại văn bản, nhưng thực hiện công việc là tốt.

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 cookie và Chính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.