2012-05-04 6 views
10

저는 일반적으로 Vim에서 대부분의 C 프로젝트를 코딩합니다. Ctags/Cscope를 통해 탐색, 검색 및 바꾸기, 색인 생성에 익숙합니다.Vim - 데이터 유형 표시

필자가 원했던 기능 중 하나는 화면의 커서 아래 변수에 대한 데이터 유형을 표시하는 키맵입니다.

예를 들어 커서가 변수에 있으면 "test123"(예 : int test123 = 0)은 변수에 대한 유형 및 기타 세부 정보를 Vim 내의 다른 탭에 표시하는 방법입니다 ?

또한 struct 변수에 대해 동일한 작업을 수행하고 설명 탭에 모든 멤버 목록과 유형 (예 : struct)을 표시합니다.

코딩 중에도이 요구 사항을 충족하는 것으로 보이는 Vim의 맨 위에 "[Scratch] [Preview]"라는 탭이 있지만주의 할만한 것은 무엇인지 (검색 및 Ctag 검색은 트리거하지 않습니다. 너무 다음과 같습니다

name: myStruct::instanceOfStrct| 2 cmd: /^ int instanceOfStrct;$/ 
.. (up a dir)     | 3 kind: m 
</code/test/test.c    | 4 struct: myStruct 
|+config/      | 5 access: public 
|+lib/       | 6 filename: /code/test/test.c 

나는이 이미 어느 정도 빔에 존재하는 어떤 생각,하지만 난 어떻게 작동하는 생각을하지 않았습니다.

감사합니다.

답변

2

원하는 플러그인을 모르겠지만 libclang을 사용하면 꽤 가능합니다. fork of clang_complete에 '정의로 이동'기능이 추가되어 원하는 것에 근접 할 수 있습니다. 그러나 그 플러그인 개발은 정체 된 것으로 보인다.

또한 특정 완성에 대한 추가 정보를 제공하기 위해 자동 완성을 수행 할 때 스크래치 버퍼가 나타납니다. completeopt 설정을 사용하여 활성화 및 비활성화 할 수 있습니다.

+1

흠, Ctags (예 : CTRL +)를 통해 변수의 선언으로 이동 한 다음 CTRL-]을 통해 변수 유형의 정의로 다시 이동할 수 있지만 앞뒤로 건너 뛰지 않아도 좋습니다. 역사 핫키 (CTRL-o, CTRL-i)가 노력을 최소화한다는 것을 알고 있지만 화면에 정보를 저장하는 것이 좋습니다. 따라서 자동 완성은 스크래치 버퍼를 만드는 것입니다. 알아 둘만한! 감사! +1 – DevNull

관련 문제