vi / vim thay thế cho lựa chọn Mở rộng của sublimetext để mở rộng phạm vi


11

Văn bản cao siêu có một tính năng thú vị gọi là " Mở rộng lựa chọn sang phạm vi " SHIFT + CMD + SPACE chọn mọi thứ trong phạm vi.

Nó chọn mọi thứ trong phạm vi, hoạt động hoàn hảo () hoặc [] hoặc {} lặp lại, nó mở rộng phạm vi cho cha mẹ của nó.

Tôi đang tìm cách để đạt được điều tương tự với vim.

Câu trả lời:


19

Nếu bạn có nghĩa là vimbạn có thể làm điều này với visual-mode ( :help visual-mode) và text-object ( :help text-objects).

Để chọn một khối giằng xoăn làm: v+ a+ {, để chọn lặp lại khối kèm theo a+ {. Lưu ý rằng bạn có thể chọn chỉ chọn nội dung của niềng răng bằng cách sử dụng ithay vì a.

Các lệnh này, như nhiều lệnh khác trong vim, được xây dựng bằng một hành động theo sau là một đối tượng văn bản, trong đó đối tượng văn bản có thể được thêm vào bởi một số để bao gồm nhiều đối tượng bị ảnh hưởng bởi hành động đó. Vì vậy, bạn cũng có thể xóa đối tượng bằng cách thay thế vbằng dhoặc sửa nó bằng c, v.v.

Có các đối tượng văn bản cho rất nhiều thứ khác bên cạnh (), {}[], ví dụ:

  • a+ wcó nghĩa là một từ.
  • a+ scó nghĩa là một câu.
  • a+ pcó nghĩa là một đoạn văn.
  • a+ <có nghĩa là một <>khối.
  • a+ 'có nghĩa là một chuỗi trích dẫn đơn.
  • a+ "có nghĩa là một chuỗi trích dẫn kép.

Bạn cũng có thể quan tâm đến plugin bao quanh cho phép bạn thêm / thay thế / xóa các ký tự xung quanh hoặc thậm chí các thẻ.


Vâng, tôi đã giới thiệu vim. Cảm ơn bạn. Có cách nào để tiếp tục mở rộng nó không, ví dụ: [[[event touchesForView: button] anyObject]nếu con trỏ ở gần touchesForViewhành động v+ a+ [chọn [event touchesForView: button]tôi muốn mở rộng thêm một cấp nữa? tức là[[[event touchesForView: button] anyObject]
palaniraja

3
@palaniraja: có, bạn có thể thêm vào đối tượng văn bản bằng một số, ví dụ: v+ 2+ a+ [.
Thor

4

Các Plugin vim-mở rộng vùng cho phép mở rộng / thu nhỏ vùng được lựa chọn trực quan đến một tập (cấu hình) của các đối tượng văn bản. Tức là bạn có thể bắt đầu với việc chọn một biến, sau đó gán, sau đó chặn, sau đó là hàm, v.v.

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.