놀랍게도 vim을 잘 사용하면 Eclipse와 같은 표준 IDE보다 훨씬 빠르게 코드를 작성할 수 있습니다. 그러나 내가 정말로 그리워하는 한 가지는 코드 완성입니다. 특히 긴 변수 이름과 함수의 경우입니다.vim에서 Perl을위한 코드 완성을 가능하게하는 방법이 있습니까?
vim에서 Perl의 코드 완성 기능을 활성화하는 방법이 있습니까?
놀랍게도 vim을 잘 사용하면 Eclipse와 같은 표준 IDE보다 훨씬 빠르게 코드를 작성할 수 있습니다. 그러나 내가 정말로 그리워하는 한 가지는 코드 완성입니다. 특히 긴 변수 이름과 함수의 경우입니다.vim에서 Perl을위한 코드 완성을 가능하게하는 방법이 있습니까?
vim에서 Perl의 코드 완성 기능을 활성화하는 방법이 있습니까?
Ctrl 키 - P (이전 일치를 가져 오기) 및 Ctrl 키 - N (다음 경기를 가져 오기) 의사 코드 완성의 종류입니다. (- Ctrl 키을 위해 전달합니다, P -위해 뒤로 Ctrl 키를 N) 그들은 기본적으로 파일을 검색 할 단어를 (당신이 태그 태그 파일에 무엇을 사용하는 경우 열려있는 모든 버퍼 등)을 편집하고 그 타이핑하는 것으로 시작하여 드롭 다운 목록을 추가하십시오. Intellisense가 아닐지라도 변수와 함수 이름에 놀랍도록 잘 작동합니다. 일반적으로 코드 또는 코드에서 찾을 변수 또는 함수로 Ctrl - P을 사용합니다. 또한 Vim의 동일한 복사본을 열어두면 이전에 연 파일을 검색합니다.
글쎄, Vim의 일반적인 완성 메커니즘은 놀랍게도 삽입 모드에서 Ctrl-N 만 사용하는 것이 좋습니다. 또한 라인 완성은 C-x C-l을 사용하면 매우 편리합니다.
vim script for perl도 확인하십시오.
옴 7은 옴니 완성을 지원합니다. 내가 삽입 모드에서 Ctrl 키-X Ctrl 키 - 오를 누를 때
예를 들어, 내가, 내 vimrc에 다음
autocmd FileType php set omnifunc=phpcomplete#CompletePHP
과이 있고, 나는 자동 완성 가능성의 드롭 다운 목록을 얻을.
다음은 omnicfunc for perl입니다. 비록 그것이 얼마나 잘 작동하는지 전혀 모르겠다.
이 패키지의 완성을 수행하는 방법과 함께, 펄 해킹 책에 설명되어
Ctrl 키 + N. 추천.
당신은 인 Supertab 플러그인 보라 : http://www.vim.org/scripts/script.php?script_id=1643 그것은하자 당신은 완료 할 (중 하나 OmniCompletion 또는 정규 완료) 탭 대신 N ^의 이동 - 탭^P를 사용하여.
다른 답변 중 하나 인 .vimrc 클립이 약간 잘못되었습니다. 훨씬 더 많은 사용자 정의와 in this thread at Perlmonks을 실현합니다 링크에 더 많은 스레드를 다른 정력 트릭 당신이 찾을 수
inoremap <tab> <c-r>=InsertTabWrapper()<cr>
function! InsertTabWrapper()
let col = col('.') - 1
if !col || getline('.')[col - 1] !~ '\k'
return "\<tab>"
else
return "\<c-p>"
endif
endfunction
및 톤 : 자동 완성 키에 당신의 탭 키를 설정하려면이 코드를 사용합니다.
~/.vim/ftplugin/perl에 다음을 추가하면 표준 CTRL-N
및 CTRL-P
이 더 잘 작동합니다.정력 파일 :
세트 iskeyword + =
그런 다음 자동 완성 모듈 이름 등
이 나를 위해 큰 노력했다하지만 최근했습니다 새로운 개발 환경으로 전환했습니다. 이제는 열린 버퍼 만 검색하는 대신 전체 원본 트리를 검색하는 것으로 보입니다.이 트리는 꽤 오래 걸립니다. 펄의 경우에만이 작업을 수행합니다. 이 새로운 환경에서 TAGS를 사용하고 있는지 어떻게 알 수 있습니까? 나는': tag'를 시도했고'E73 : tag stack empty'을 얻었다. 사용할 수있는 태그 이외의 것이 있습니까? 또한 새로운 환경에는 vim의 약간 새로운 버전이 있습니다. 오픈 버퍼 만 검색하도록하고 싶습니다. – redbmk