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