가능하지만 Vim의 스크립팅 언어에 대한 지식이 필요합니다. 해당 섹션을 "이스케이프"하지 않고 현재 섹션 내에서 날짜 위치를 찾은 다음 해당 줄을 변경할 수있는 Vim 함수를 작성해야합니다. 함수가 작성되면 autocmd에 첨부해야합니다.
예를 들어, 함수가 호출 된 경우 다음 TexAutoDate()
과 .tex
같이 끝나는 파일을 작성할 때마다 자동으로 호출 할 수 있습니다 .
:autocmd BufWritePre *.tex :call TexAutoDate()
불행히도 함수의 실제 본문은 상당히 복잡하며 파일 레이아웃에 대해 더 많이 알지 못하면 크게 도움이 될 수 없습니다. 비슷한 목적으로 작성한 기능이 있지만 섹션 자체로 제한하지는 않습니다. 다음 함수는 Vim 도움말 파일의 "마지막 변경 :"줄을 쓸 때 자동으로 업데이트합니다.
function HelpModifiedUpdate()
if &filetype != "help"
return
endif
let today=strftime('%Y %b %d')
" Save current cursor position:
let lnum = line('.')
let col = col('.')
if search('Last change: ', 'w')
let line1 = getline('.')
if line1 =~ today
" Restore cursor position:
call cursor(lnum, col)
return
endif
let line2 = substitute(
\line1,
\'Last change: .*',
\'Last change: ' . today,
\''
\)
call setline('.', line2)
endif
" Restore cursor position:
call cursor(lnum, col)
endfunction
만나다:
:help :autocmd
:help :function
:help eval.txt
마지막은 광범위하며 전체 파일을 읽을 필요는 없지만 Vim 스크립트를 아직 모른다면 필요한 내용이 많이 포함되어 있습니다.