我在我的.vrimrc可爱的小宏中添加/删除代码中的c ++样式注释:
" remove c++ style comment
nmap _ :s/^[ \t]*\/\///<CR>==:nohls<cr>
" comment line, c++ style
nmap - :s/^[ \t]*/\/\/ /<CR>==:nohls<cr>
Run Code Online (Sandbox Code Playgroud)
这些工作通过用另一个替换线条图案的开头.在一个案例中添加//,在另一个案例中删除斜杠(如果找到).
我遇到的问题是那些宏使用搜索和替换.结果,不需要的搜索模式被保存到vim的搜索历史中,使其混乱.
考虑一下顺序:
如何修改此宏以不将不需要的模式注入搜索历史记录?
let old = @/,call histdel('/', -1),let @/ = old.像这样:
" remove c++ style comment
nnoremap <silent> _ :let old = @/<bar>s/^[ \t]*\/\///<CR>==:nohls<bar>call histdel('/', -1)<bar>let @/ = old<cr>
" comment line, c++ style
nnoremap <silent> - :let old = @/<bar>s/^[ \t]*/\/\/ /<CR>==:nohls<bar>call histdel('/', -1)<bar>let @/ = old<cr>
Run Code Online (Sandbox Code Playgroud)
或者使用蒂姆波普的评论.