在不删除搜索的情况下在 vim 中找到第一行未注释的行

Find first uncommented line in vim without erasing search

取消注释vim中的代码时,我希望有一个宏可以跳转到各种文件中第一个取消注释的行。我在 Vim 中使用 nerdcommenter 所以(在突出显示第一个注释行之后)我搜索任何以任何非 #% 开头但仍包含一些非空白字符的行:

/^\s*\(#\|%\)\@!\S

但是搜索取代了我的搜索缓冲区。我可以在不删除搜索缓冲区的情况下进行这样的搜索吗?

我在 nerdcommenter 文档中看不到这样的功能。

您可以像这样将上次搜索保存到变量中:

let orig_search = @/

那么在你搜索之后,你可以这样做:

let @/ = orig_search