评论中的Vim字样

时间:2017-03-09 08:19:47

标签: vim comments

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

我想知道这个词是否在评论中。

我使用的是C ++语言。

有什么办法吗?

由于

1 个答案:

答案 0 :(得分:1)

将光标移至search()结果,或使用searchpos()。然后,对synID + synIDattr使用当前/结果坐标comment

例如,如果您未在n中使用search()标记,

: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(),它返回getline()结果,但剥离了我们不感兴趣的语法元素。分析文件可能很有用,但不要跳到其中的各个位置。