如何删除训练字符而不出现恼人的“E486:找不到模式”错误



我正在尝试自动删除行尾的尾随字符(保存时)。根据wiki,我创建了以下映射:

nmap <silent> <leader>rt :let _s=@/<Bar>:%s/s+$//e<Bar>:let @/=_s<Bar>:nohl<CR>
nmap <silent> <leader>w <leader>rt:write<CR>

问题是当没有尾随字符时,会出现E486: Pattern not found: s+$并中断下一个:write命令。我试图搜索与我的问题类似的东西,但一无所获。有什么想法吗?

您需要的是:silent[!]命令。你可以做:

:silent! %s/s+$//

!允许silent也跳过错误消息。但v:errmsg还是设置好了。

有关详细信息,请阅读:h :silent

最新更新