2010-11-21 3 views
6

최근에 Eclipse에서 Vim으로 전환했습니다. 나는 그것을 사랑 해요. 몇 가지 문제가 있습니다 만, 많은 문제가있는 것은 PHP 문서입니다. 그래서 내가 가지고있는 것Vim : 들여 쓰기 스크립트 내에서 텍스트를 변경하는 방법

/** [enter] 

을하고 다음 줄은 자동

* 

채울 것입니다 : 이클립스에서 나는 입력 할 수

/** 
* [comment goes here] 

을 아무것도 같은이 있는지 궁금 해요 vim을 위해. 명령을 실행하여 doc 주석을 자동 생성하는 플러그인이있는 것 같지만 필자가 타이핑 할 때 주석을 사용하고 싶습니다.

나는 PHP 들여 쓰기 스크립트 (http://www.vim.org/scripts/script.php?script_id=1120)로 놀고 있었고 문서 주석 블록 안에있을 때이를 알아 냈습니다. 그러나 실제로 텍스트를 변경하고 추가하는 방법을 알 수는 없었습니다. "*"때 타격 후 블록 안에 입력하십시오.

는 내가 다른 플러그인 할 본 적이 무엇을 시도했다 :

let @z = ' * ' 
put! z 

도이 시도 :

exe 'normal!' '"zgp' 

하지만 행운을. 이것이 들여 쓰기 스크립트에서 가능하지 않습니까? 그렇다면 실제로 Vim이 문서 주석 블록을 인식하고 입력하는 동안 그에 따라 행동하게하려면 어떻게해야합니까?

도움이 될 것입니다.

답변

2

들여 쓰기 파일을 사용할 필요가 없습니다. Vim의 formatoptions은 PHP뿐만 아니라 다양한 언어로이 작업을 수행합니다.

은 당신은 당신의 formatoptionsr을 포함했는지 확인 :

:setlocal fo+=r "to set 
:set fo? "to query 

당신은이를 포함 할 수 .vimrc 또는 .vim/ftplugin/php.vim에 (그냥 PHP이를 활성화하려는 경우).

formatoptions 및 파일 타입 플러그인에 대한 자세한 내용은 다음을 참조하십시오

+1

이것이 올바른 방법입니다. 매우 포괄적 인 답변의 요약으로서, .vimrc에'set fo + = r'을 추가한다고 말하고 싶습니다. –

+1

고마워요 ... – andrew

+0

이상하게도 작동 합니다만, 모든 플러그인을 사용할 수 없게되었을 때 작동합니다. 그리고 fo + = r을 설정했지만, PHP 들여 쓰기 스크립트 (수정 없음)를 사용할 때 + f를 설정하면, 일하지 마라. fo? == "qrowcb"... 어떤 아이디어? 이 설정을 사용 중지 할 수있는 다른 설정이 있습니까? – andrew

1

다음 코드를 vimrc에 추가하면 원하는 것과 비슷한 작업을 수행 할 수 있습니까?

autocmd BufNewFile,BufRead *.php setlocal formatoptions+=r formatoptions+=o 
autocmd BufNewFile,BufRead *.php setlocal comments=s1:/*,mb:*,ex:*/,://,:# 

나는 현재 아주 그것이이 수행하는로 주석 <!-- --->를 오버라이드 (override)없이 작동하는 방법을 알아낼 수 없습니다. 나는. 이 경우 자동 들여 쓰기가 <!-- --> 개의 댓글로 중단됩니다.

편집. Johnsyweb의 배포판에 ://,:# ~ comments이 추가되었습니다. 당신의 vimrc이 추가

+0

'comments'이 공급 된'PHP에 의해 자동으로 설정해야합니다. vim'들여 쓰기 스크립트. ' 주석은 HTML 구문의 일부입니다. – Johnsyweb

+0

@Johnsyweb 예, 위의 코드 조각은'comments = ... '을 수행하여이를 덮어 씁니다. 대신에'comments + = ...'를 사용하면/* */style 주석이 제대로 작동하지 않습니다. 왜 그런지 모르겠습니다. – dennycrane

+0

나에게 맞는 작품 :'comments = s1 :/*, mb : *, ex : * /, : //, : # # – Johnsyweb

0

시도 :

let g:PHP_autoformatcomment=1 

내가 맥에있어 기본적으로 활성화 될 것으로 보인다. 귀하가 진술 한 방식대로 정확하게 작동합니다.

관련 문제