我的vimrc中有以下内容:
func! AddSpaceBeforeEqual()
s/\([a-z)_0-9"'\[\]]\)=/\1 =/ge
endfunc
我正在使用vint整理我的vimrc,并收到以下警告:
ProhibitCommandWithUnintendedSideEffect 避免具有意外副作用的命令。避免使用:s [ubstitute],因为它会移动光标并显示错误消息。首选更适合脚本的函数(例如search())。对于许多vim命令而言,存在执行相同功能且副作用较少的函数。有关内置函数的列表,请参见:help functions()。Google Vimscript样式指南
但是,我不认为它们是不使用:s
命令即可进行替换的方法。
例如,该search()
函数提供与模式匹配的行,但是无法进行替换。该substitute()
函数在字符串上操作,并且不能替代整个文件。
我应该自己实现替代方法,还是它们是重写我的函数的更明智的方式?
:help function-search-undo