vim이 편집중인 현재 클래스와 메소드를 보여줄 수있는 방법 함수)의 이름을 보여주는 “상태 표시

누구나 편집중인 현재 클래스 및 메소드 (또는 함수)의 이름을 보여주는 “상태 표시 줄”을 만들 수 있는지 (또는 기존 vim 스크립트 또는 플러그인에 대해 알고 있는지) 알고 있습니까?

현재 버퍼의 파일 형식에 대한 구문 파서에 연결하고 현재 편집중인 내용을 보여주는 탐색 경로를 표시한다고 생각합니다. 나는 그 이상을 제안 할만 큼 vimscript를 잘 모르지만, 이미 좋은 해결책이 없다면, 하나를 해킹하기 시작할 수 있으므로 시작 위치에 대한 제안도 환영합니다!



답변

이 스크립트 는 현재 기능의 이름을 제목 표시 줄 및 / 또는 상태 표시 줄에 넣습니다. ctags를 사용하여 현재 파일에 대한 태그 목록을 생성하고 커서 위치 앞의 태그가 현재 함수의 이름이라고 가정합니다. ctags를 사용하기 때문에 구조화 된 텍스트 파일까지 다양한 언어로 작동하도록 사용자 정의 할 수 있습니다. 실제로는 잘 작동하지만 몇 가지 제한이 있습니다. 다른 것이 없다면 해킹의 출발점이 될 수 있습니다.


답변

항공사태그 바 플러그인을 모두 설치하면 작동합니다 . 이 두 플러그인은 자동으로 통합되며 상태 표시 줄에 현재 기능이 표시됩니다. 전체 객체 계층 구조 (예 : 클래스 + 메소드)를 원한다면 .vimrc에서 구성해야합니다.

let g:airline#extensions#tagbar#flags = 'f'  " show full tag hierarchy

ctags를 아직 사용하지 않는 경우 현재 코드 위치를 식별하기 위해 tagbar에 대한 tags 파일을 설정해야 할 수도 있습니다. 아직 모르는 경우 다음은 ctags 소개 입니다.