vim 시작시 명령을 실행하는 방법


11

방금 메소드 트리를 표시하는 파이썬 플러그인을 설치했습니다. 따라서 시작할 때 트리를 열고 싶습니다 .py. 파일을 열 때마다 버튼을 누를 필요가 없습니다 . 그러나이 명령은 .py파일에 대해서만 실행되기를 원합니다 . 내 vimrc 조각은 다음과 같습니다.

nmap <F8> :TagbarToggle<CR>

시작할 때 .py파일에 대해서만이 명령을 실행하는 방법이 있습니까?


Howdy St. Antario. 승인 된 답변에 대체 답변보다 투표 수가 적다는 점에 유의하십시오.
병아리

답변:


8

에 추가하십시오 .vimrc:

au BufEnter *.py :TagbarToggle<CR>

어디

  • au이면 autocmd명령을 자동으로 실행하십시오.

  • BufEnter 파일을 처음 입력 할 때입니다.

  • *.py 파일 유형 파이썬 용입니다.

  • 나머지는 실행될 명령입니다

2
.vimrc소스가 공급 될 때마다 자동 명령이 추가됩니다 . 이를 방지하려면 명령을 삭제하는 augroup으로 줄을 묶어야합니다. 참조하십시오 :help augroup-delete.
Rich

: augroup 테스트 그룹 : autocmd! : au BufEnter * .py : TagbarToggle <CR> augroup END 괜찮습니까?
kapil

1
나에게 좋아 보인다!
Rich

11

내 의견으로는, 가장 깨끗한 방법은 .vim/vimfiles디렉토리 의 파일에 명령을 추가하는 것입니다 .

~/.vim/after/ftplugin/python.vim

또는 Windows의 경우 :

$HOME\vimfiles\after\ftplugin\python.vim

이 기술은 :help ftplugin-overrule컨텍스트 (설정 변경)가 약간 다르지만 (목록 항목 3)에 설명되어 있습니다.

kapil에 설명 된 자동 명령 기술에 비해 다음과 같은 이점이 있습니다.

  1. 적은 코드 . 실행하려는 Vimscript 만 작성하면됩니다. 당신은 코드에 자동 명령을 필요로 둘러싸하지 않습니다 augroupautocommand!명확한 명령.

  2. 적은 오버 헤드 . Vim은 이미 파일 형식을 감지하고 파일이 있는지 확인하고 after/ftplugin/filetype있습니다. 왜 같은 목적을 수행하는 자동 명령을 추가합니까?

  3. 청소기.vimrc . 파일 유형별 기능을 my과 분리하는 것이 .vimrc좋습니다. (일부 의견에 동의하지 않는 경우 : 아래의 단점을 참조하십시오.)

또한 몇 가지 사소한 단점이 있습니다.

  1. Vim의 파일 형식 탐지를 사용하는 경우에만 작동합니다. ( :help filetype)

    그러나 이것은 일반적으로 사람들이 .vimrc에서 활성화하는 첫 번째 설정 중 하나이며 거의 모든 Vim 사용자가 이미 설정 한 것으로 설정했습니다.

  2. 어떤 사람들은 모든 설정을 .vimrc파일 에 보관하는 것을 선호 합니다.


1
+1 ftplugin/<filetype>.vim, 관심사 분리 개선 :)
LEI
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.