Vim 条评论

Vim words in Comment

我在 Vim 脚本中使用内置函数 search() 来查找某些词,例如 "class".

我想知道评论里有没有这个词

我正在使用 C++ 语言。

有什么办法吗?

谢谢

将光标移动到 search() 结果,或使用 searchpos()。然后,使用 current/result 坐标 synID + synIDattrcomment.

例如,如果您不在 search() 中使用 n 标志,

:let is_in_a_comment = synIDattr(synID(line('.'),col('.')-1,1),'name') =~? 'comment'

因此我的lh#syntax#is_a_comment_at(lin,col) and lh#syntax#is_a_comment(mark) functions.

注意,在 C++ 中,您可能还需要匹配 doxygen。

PS:关于这个主题,我最近想出了一个实验:lh#syntax#getline_without(),结果是 returns getline(),但去掉了我们不感兴趣的语法元素in。分析文件可能很有用,但不能跳转到文件中的各个位置。