tra-loi-cau-hoi-phat-trien-web.com

Cách tìm kiếm bằng ký tự đại diện trong VIM

Sử dụng chức năng tìm kiếm tiêu chuẩn (/) trong VIM, có cách nào để tìm kiếm bằng ký tự đại diện (khớp 0 hoặc nhiều ký tự) không?

Thí dụ:

Tôi có một mảng và tôi muốn tìm bất cứ nơi nào các chỉ số của mảng được gán.

array[0] = 1;
array[i] = 1;
array[index]=1;

vân vân.

Tôi đang tìm kiếm một cái gì đó dọc theo dòng

/array*=

nếu có thể.

12
Jimmy P

Tôi nghĩ bạn đang hiểu sai về cách ký tự đại diện hoạt động. Nó không khớp 0 hoặc nhiều ký tự, nó khớp 0 hoặc nhiều hơn của nguyên tử trước, trong trường hợp này là y. Tìm kiếm

/array*=

sẽ phù hợp với bất kỳ trong số này:

arra=
array=
arrayyyyyyyy=

Nếu bạn muốn khớp 0 hoặc nhiều hơn bất kỳ ký tự nào, hãy sử dụng nguyên tử 'chấm', sẽ khớp với bất kỳ ký tự nào ngoài dòng mới.

/array.*=

Nếu bạn muốn một cái gì đó mạnh mẽ hơn, tôi khuyên bạn nên:

/array\s*\[[^\]]\+\]\s*=

đó là "mảng" theo sau là 0 hoặc nhiều khoảng trắng, theo sau là bất kỳ thứ gì có trong ngoặc, theo sau là 0 hoặc nhiều khoảng trắng, theo sau là dấu "bằng".

15
DJMcMayhem