2017-03-09 1 views
0

Vim 스크립트에 내장 된 함수 search()을 사용하여 "class"와 같은 특정 단어를 찾습니다.Vim words in Comment

단어가 댓글인지 여부를 알고 싶습니다.

저는 C++ 언어를 사용하고 있습니다.

어떤 방법이 있습니까?

감사

+1

관련성이 있습니다. https://www.reddit.com/r/vim/comments/2h7gjk/how_to_detect_if_cursors_current_position_is/ – Jameson

+0

언어를 지정하십시오! –

+0

감사합니다. 해당 웹 사이트의 대답이 도움이됩니다. –

답변

1

어느 search() 결과로 커서를 이동하거나 searchpos()를 사용합니다. 그런 다음 현재/결과 좌표 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.

NB는, C에서 당신은뿐만 아니라 doxygen이 일치해야 ++.

추신 : 최근 실험에서 : lh#syntax#getline_without()을 얻었지만 getline() 결과를 반환하지만 우리가 관심이없는 구문 요소는 제거했습니다. 파일을 분석하는 것이 유용 할 수 있지만 여러 가지로 건너 뛰는 것은 유용하지 않을 수 있습니다. 그것 내의 위치.

+0

고마워요. 그것은 효율적인 방법입니다. –