내 vimrc에 다음이 있습니다.
func! AddSpaceBeforeEqual()
s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge
endfunc
vint 를 사용하여 vimrc를 보푸라기하고 다음 경고가 표시됩니다.
의도하지 않은 부작용이있는 명령 금지 의도하지 않은 부작용이있는 명령은 피하십시오. : s [ubstitute]는 커서를 이동하고 오류 메시지를 인쇄하므로 사용하지 마십시오. 스크립트에 더 적합한 함수 (예 : search ())를 선호하십시오. 많은 vim 명령의 경우 부작용이 적은 동일한 기능을 수행하는 함수가 있습니다. 내장 함수 목록은 : help functions ()를 참조하십시오. Google Vimscript 스타일 가이드
그러나 나는 그들이 :s
명령 을 사용하지 않고 대체를 수행하는 방법이라고 생각하지 않습니다 .
예를 들어, search()
함수는 패턴과 일치하는 행을 제공하지만 대체 방법은 없습니다. 이 substitute()
함수는 문자열에서 작동하며 전체 파일을 대체하지 않습니다.
대체 방법을 직접 구현해야합니까, 아니면 함수를 다시 작성하는 것이 더 똑똑한 방법입니까?
:help function-search-undo