2016-09-19 4 views
2

특정 확장명을 가진 파일을 만들 때마다 vim이 첫 번째 줄 (또는 몇 줄의 첫 줄)에 자동으로 쓸 수 있습니까?vim의 첫 번째 자동 줄

예를 들어,이 파일은 .txt 파일을 만들면 vim이 첫 번째 줄에 "Hello"라고 씁니다.

가능합니까? 그렇다면 어떻게?

답변

3

예, 이것을 달성하려면 autocommands으로하십시오. 자동 명령의 일반적인 구조는, 당신이 원하는 특정 경우

au event filetype command 

입니다

au BufNewFile *.txt normal iHello 

설명 :

au   "Define a new autocommand 
BufNewFile "When you create a new file 
*.txt   "With the extension '.txt' 
normal iHello "Execute the command 'normal iHello', which is like typing 'iHello' manually 
3

docs:h skeleton에서이 작업을 수행하는 방법에 대한 아이디어를 제공합니다. 기본적으로 .vimrc에는 BufNewFile 자동 명령이 필요합니다.

문서에서 파일의 초기 콘텐츠를 읽는 것으로 가정합니다. 따라서, 귀하의 예를 들어, skeleton.txt을 가정하는 것은 "안녕하세요"텍스트를 포함 : 첫 번째 라인은 비교적 간단 경우

autocmd BufNewFile *.txt 0r ~/vim/skeleton.txt

또는, 당신은 언제나 삽입 모드를 입력하고 당신이 필요로하는 텍스트를 추가하여 하드 코딩 할 수 있습니다 . vi.stackexchange에서

This answer

au BufNewFile *.txt normal iHello

는 함수를 호출하고 좀 더 복잡한 몇 가지 예제를 제공합니다. 내 경우

0

, 파일을 강타, 나는 내 ~/.vimrc 파일

augroup sh 
    au BufNewFile *.sh 0r ~/.vim/skel/template.sh 
"au BufWritePost *.sh,*.pl,*.py,*.cgi :silent !chmod a+x <afile> 
augroup end 

나는 새 파일을 만들 경우 "BufNewFile는"정력 읽어 제로 "0"줄에서 열립니다 "R에이이 "template.sh 파일의 내용을 원하는 곳에 둘 수 있습니다.

"시작 부분에서 나는 자동으로 파일 변경 권한을 가지고 있습니다."라는 문구가 나오지 않으면 자동으로

관련 문제