3
用纯vimscript代替(不带`:s`)
我的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()函数在字符串上操作,并且不能替代整个文件。 我应该自己实现替代方法,还是它们是重写我的函数的更明智的方式?