2014-09-25 2 views
3

리눅스 커널에서 심볼 정의를 찾으려면 cscope/ctags와 함께 gvim/vim을 사용하고 있습니다. 소스 코드가 크다. 예를 들어 "태그 장치"명령으로 구조 장치를 검색하려고 할 때 vim은 백회를 제안합니다. 왜냐하면 그것은 device라는 이름의 전역 변수와 구조체의 member를 제안 할 것이기 때문입니다. 어쨌든 이것을 향상시킬 수 있습니까? vim/cscope/tag에 구조체 정의 만 보이게 할 수 있습니까?vim/cscope를 사용하여 리눅스 커널에서 심볼 정의 찾기

+1

명령을 참조하십시오. 나는 cscope를 사용했지만 lxr이 더 convinent 한 것을 알았다. 그래서 나는 cscope 대신 lxr을 사용할 것을 제안 할 것이다. http://lxr.free-electrons.com/에서 웹 기반 lxr을 사용해보고 느낌을 얻으실 수 있습니다. –

+0

vim에서 손을 멀리 떨어 뜨리고 싶다면 일식이 훨씬 강력 할 것입니다. – Neo

+0

나는 이클립스와 리눅스 커널이 좋은 조합이 될지 모르겠다. –

답변

1

이미 알고 계신 것 같습니다. 나는 cscope의 정력 명령으로 범위를 좁힐

:cs f e struct device { 

cscope의 정력의 사용이 내 의견에 직접 관련되지 않을 수 있습니다

cscope commands: 
add : Add a new database    (Usage: add file|dir [pre-path] [flags]) 
find : Query for a pattern   (Usage: find c|d|e|f|g|i|s|t name) 
     c: Find functions calling this function 
     d: Find functions called by this function 
     e: Find this egrep pattern 
     f: Find this file 
     g: Find this definition 
     i: Find files #including this file 
     s: Find this C symbol 
     t: Find assignments to 
help : Show this message    (Usage: help) 
kill : Kill a connection    (Usage: kill #) 
reset: Reinit all connections   (Usage: reset) 
show : Show connections    (Usage: show) 
+0

답변을 게시 해 주셔서 감사합니다. 외부 사이트에 대한 링크를 게시하는 대신, 해당 사이트가 더 이상 제공되지 않을 경우에 대비하여 링크/기사의 본질을 답변에 포함시킬 수 있습니까? – Deanna

+0

예,하지만 공간을 고려해야합니다 ... 때로는 방법을 사용합니다. cscopequickfix 변수에 g- 옵션을 추가하여 (cscopequickfix = + g 설정) 빠른 수정 창에 검색 결과를 표시 한 다음 CSF ...를 입력하고 빠른 창에서 구조 정의를 찾거나 내가 원한다면. – Neo

+0

어떤 공간을 언급하고 있습니까? – Drad