Tôi đang tìm cách để thực thi một số mã trong một hàm một cách có điều kiện tùy thuộc vào sự hiện diện của một số văn bản trong tệp được chỉnh sửa. Tôi đã tìm thấy một cách để làm nó hoạt động nhưng không cảm thấy rất "sạch".
Đây là những gì tôi có:
function! foo()
(...)
let v:errmsg = 'ok'
execute "silent! normal! :/" . l:pattern . "\r"
if v:errmsg == 'ok'
(... do stuff ...)
else
(... do other stuff ...)
endif
endfunction
Câu hỏi đặt ra là: liệu kết quả tương tự có thể đạt được bằng cách nào đó mà không cần sử dụng v: errmsg không?
Những gì tôi có trong tâm trí là một cái gì đó của hình thức
function! foo()
(...)
if GrepInCurrentBuffer(l:pattern)
(... do stuff ...)
(...etc...)
:h function-list
search()
- Xem:h search()