小编Tha*_* DK的帖子

如何在Vim中删除多个缓冲区?

假设我在Vim中打开了多个文件作为缓冲区.文件有*.cpp,*.h有些是*.xml.我想关闭所有的XML文件:bd *.xml.但是,Vim不允许这样做(E93:不止一场比赛......).

有没有办法做到这一点?

PS我知道:bd file1 file2 file3有效.所以,我可以采用某种评估*.xmlfile1.xml file2.xml file3.xml

vim buffer

110
推荐指数
5
解决办法
2万
查看次数

如何将cscope输出放入Vim quickfix窗口?

我想将输出从cscope重定向到Vim quickfix窗口.胶水部分很容易,但我目前陷入错误格式.以下是cscope输出的示例(cscope -L -1 bar):

Format: "filename scope linenumber sourceline"
Example: "abc.cpp foo 25 bar()"
Run Code Online (Sandbox Code Playgroud)

这意味着在foo()中,在abc.cpp的第25行,调用bar().

efm = %f\ %*[^\ ]\ %l\ %m但工作但范围信息丢失.例如:

Input: "abc.cpp foo 25 bar()" becomes
Output: "abc.cpp |25| bar()"
Run Code Online (Sandbox Code Playgroud)

我想要的是在quickfix窗口中包含范围,如下所示:

Input: "abc.cpp foo 25 bar()" becomes
Output: "abc.cpp |25| bar() inside foo()"
Run Code Online (Sandbox Code Playgroud)

是否可以仅使用errorformat执行此操作,或者是否需要编写脚本来操作输出,然后再将其输送到Vim?

vim errorformat cscope

7
推荐指数
1
解决办法
4741
查看次数

将特定正则表达式匹配的字符串替换为其在Vim中的长度

在Vim中,如何将特定regexp匹配的字符串替换为其长度,如下所示:

Regexp ="\ w*"

"你好" - >"5"
"bye" - >"3"

是否可以使用:s或我是否需要编写一些脚本?

最好的祝福

regex vim

6
推荐指数
1
解决办法
332
查看次数

标签 统计

vim ×3

buffer ×1

cscope ×1

errorformat ×1

regex ×1