2013-02-05 2 views
2

vim의 PHP 프로젝트에서 키워드 완성을 위해 ctags를 사용하고 있습니다. 이것은 매우 잘 작동백 슬래시가있는 ctags의 Vim 키워드 완성?

ctags (...) --regex-PHP='^namespace\s+([^;]*)/\1/c/' (...) 

: 상자 밖으로 PHP 네임 스페이스를 처리하지 않습니다 ctags를 때문에, 나는 나의 ctags를 명령에 정규식 옵션을 추가 한 내가 Foo<Ctrl+N>를 입력하면 내가 Foo, Foo\Bar, Foo\Bar\Baz위한 제안을받을 등등.

그러나 vim이 태그 파일에서 검색 할 키워드를 결정할 때 백 슬래시는 단어 분리 기호로 간주됩니다. Foo\Ba<Ctrl+N>를 입력 즉

하지 나에게 내가 원하는 무엇 Foo\Bar\Baz 등을위한 제안을한다. 실제로는 Ba (즉, 내 네임 스페이스 없음)으로 시작하는 태그 만 제안합니다.

이것은 또한 태그로 점프 할 때의 문제입니다. 커서 아래에 Foo\Bar\Baz이 있고 Ctrl+]을 수행하면 Baz이 포함 된 파일로 이동합니다.이 파일은 Foo\Bar\Baz을 포함 할 수도 있고 그렇지 않을 수도 있습니다. 백 슬래시가 단어 분리 기호로 취급되지 않으면이 방법이 훨씬 효과적 일 것이라고 생각합니다.

태그 검색을 할 때 vim이 백 슬래시를 단어의 일부로 취급하게하는 방법이 있습니까? 이러한 변화는 다른 것들, 예를 들어, 영향을 미친다는 것을

:setlocal iskeyword+=\\ 

참고 : ~/.vim/after/ftplugin/php.vim에서

답변

1

(이 PHP 파일을 로컬 변경한다), 다음을 추가 w 동작, aw 텍스트 개체 및 구문 강조 표시가 있습니다.

+0

고마워요! 재미있게도 이것이 키워드 완성을 위해 작동하는 동안 백 슬래시가있는 태그로 점프하지 않으면 Foo \\ Bar \\ Baz (이중 백 슬래시)를 찾으려고 시도하지만 실패합니다. – Frode

+0

그 경로는 아마도 잘 테스트되지 않았습니다. 이 버그를 [vim_dev 메일 링리스트] (http://www.vim.org/community.php)에보고하십시오. –

관련 문제