2011-05-11 5 views
5

저는 Vim을 꽤 오랫동안 사용 해왔고, 코드 완성 (omni, dictionary 등)은 잘 작동했지만 한 가지를 놓쳤습니다.Vim의 구문 힌팅

구문 암시, 기본적으로 함수가 받아들이는 인수가 무엇인지 알고 싶습니다. 온라인에서 찾아보기보다는 Vim 어딘가에있는 것이 좋으며 현재 줄 위의 상자에있는 것이 좋습니다.

이 작업을 수행 할 수있는 방법이 있습니까? 대부분 PHP, Python 및 C++에서 작동하므로 해당 언어에 필요합니다.

편집 : 이미 ctags가 설치되어 있지만 구문 힌팅을 제공하지 못했다고 말하면서 PHP 표준 함수로 시도해 보았습니다. 간과 한 경우라면 dunno.

이 snipMate를 사용하여 모든 표준 라이브러리 함수를 입력 할 수있는 옵션도하지만 그 많은 일이, 누군가가 이미했던 상상 한 것입니다 (그리고 네 않는 ultiSnips 같은있다지만 snipMate 열등의)

+0

[ctags] (http://ctags.sourceforge.net/)에서 살펴볼 수 있습니다. 나는 그것을 직접 탐구하지 않았지만 나는 의미를 지니고있다. 구조체 멤버의 완성을 허용해야한다는 것을 알고 있습니다. 그것은 비록 함수 인수를 할 수 있는지 모르겠습니다. –

+0

@ Goulash 그래, 이미 설치 했어. 완료를 제공하는 동안 구문 힌팅을 제공하지 않는 것 같습니다. –

+2

파이썬과 C++에 대해서는 모르지만 PHP에서는 ''은 완료 가능한 문맥 메뉴와 arg 이름과 타입을 포함하여 메소드의 "프로토 타입"을 제공합니다. – romainl

답변

2

나는 echofunc 플러그인을 사용한다고 생각합니다. 코드를 작성할 때 ( 키를 누르면 기능 프로토 타입이 상태 표시 줄에 표시됩니다.

플러그인을 확인하십시오. 비슷한 것으로 생각하는 srcexpl.vim (나는별로 사용하지 않습니다).

+0

팁을 주셔서 고마워요. 내가하고 싶은 일을하는 것처럼 보입니다.하지만 ctags와 관련된 1 가지 문제가 있습니다. PHP/Python의 내장/모듈 함수를 표시하는 방법은 무엇입니까? 내 코드? –

+0

정확히 어떻게하는지 모르겠습니다. 나는 당신이 그것에 대해 별도의 질문을하고 싶을 수도 있다고 생각합니다. – skeept

+0

흠 나는 아마해야한다. –

4

소리가 나는대로 나는 당신이 set completeopt+=preview을 찾고 있다고 생각합니다. 자세한 내용은 :help completeopt에서 확인할 수 있습니다.