내 .vimrc에 마지막으로 '저장'(: w)의 타임 스탬프 (수정 됨)로 현재 편집중인 파일을 자동으로 업데이트하는 기능이 있습니다.vi/vim에서 파일 헤더의 파일 경로를 autocmd로 자동 업데이트하는 방법은 무엇입니까?
Filename과 Filepath도 업데이트하고 싶습니다. 나는 ("%") 확장을 통해 파일 이름을 업데이 트 autocmd 있습니다. 파일 경로에 관해서는, 문서에서 읽은 확장 ("% : p : h"를 사용하여 경로를 삽입 할 수 있어야합니다 (제외 파일 이름은), 그러나 그것은 작동하지 않습니다
누구 내 헤더 파일 경로를 삽입하는 방법을 말해 줄 수 내가 원하는 파일 헤더의
예 업데이트 :.? 내가
Modified: November 13 2016
Filename: myfile
Filepath: /home/me/path/tomyfile/
코드가 현재 :
autocmd BufWritePre * call UpdHeader()
function! UpdHeader()
" update path <<<<<< DOES NOT WORK >>>>>>>
silent! execute "1," . 10 . "g/Filepath:.*/s//Filepath: " .expand("%:p:h")
" update filename <<WORKS>>
silent! execute "1," . 10 . "g/Filename:.*/s//Filename: " . expand("%")
" update last mod date <<WORKS>>
silent! execute "1," . 10 . "g/Modified:.*/s//Modified: " . strftime("%d %B %Y%t%t%T (%z)%tBy : ") . $USER
...
endf
thx! 당신이 :substitute
에서 구분 기호로 /
을 모두 사용으로 M
감사합니다. Ingo, 제안 된 모든 솔루션 3 개가 예상대로 작동합니다. :). 나는 2 번째 것을 사용하고, 적절한 도피로 가장 잘 보인다. (파일 이름 확장도 유사하게 수정합니다.) –
오, 잉고, '(& magic?'& ~ ':' '))'부분을 제발 설명해 주시겠습니까? –
교체 부분의 탈출은 ''magic ''설정에 달려 있습니다. 대개 켜져 있으므로'&'와'~'도 이스케이프해야합니다. –