Vim:将光标移动到源文件中的字符串,如果不存在则没有错误消息

问题描述 投票:5回答:2

当我使用vi打开文件* .c时,我希望光标自动移动到字符串“ main”。如果没有“ main”,我希望光标转到“ void”而没有错误提示。

在我的.vimrc中已设置

:autocmd BufRead *.c 1;/main 

但是这不能满足我的所有要求。具体来说,如果在某些打开的C源文件中不存在“ main”,vi会提示“错误,找不到main ....”,这是我要删除的行为。

我还尝试过将<silent>:silent添加到该autocmd行,但是它不能满足我的要求。谁能帮我?谢谢。

vim
2个回答
3
投票

只需使用:silent!;它运行给定的命令不仅阻止正常的消息,但也有错误。

我建议使用BufReadPost事件代替BufRead运行命令after加载缓冲区,并更改搜索模式以将main作为单独的词查找:

:autocmd BufReadPost *.c :silent! 1;/\<main\>

0
投票

尝试/ main \ | ^,但是如果文件中的光标不在第一行-不是您想要的。

© www.soinside.com 2019 - 2024. All rights reserved.