首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

vimgrep和make的不同quickfix缓冲区

您好!您提到的 vimgrepmake 是 Vim 编辑器中的命令,它们分别用于搜索文本和执行 Makefile。Vim 是一款流行的文本编辑器,具有强大的扩展性和高度可定制性。

vimgrep 是 Vim 中的一个命令,用于在多个文件中搜索指定的文本模式。它将搜索结果保存在 Vim 的 "quickfix" 缓冲区中,以便用户查看和处理。quickfix 缓冲区是 Vim 中的一个特殊缓冲区,用于显示编译器或其他工具的错误和警告信息。

make 是一个流行的构建工具,用于自动化软件构建过程。它根据 Makefile 中的规则来编译和链接源代码,生成可执行文件。如果您在 Vim 中使用 make 命令,它将在 quickfix 缓冲区中显示编译和链接过程中的错误和警告信息,以便您可以轻松地找到和修复问题。

vimgrepmake 的 quickfix 缓冲区之间的不同之处在于,vimgrep 是用于搜索文本模式的,而 make 是用于显示编译和链接错误的。因此,它们的用途和显示的信息类型不同。

总之,vimgrepmake 都是 Vim 编辑器中非常有用的命令,它们可以帮助您更高效地编写和调试代码。

页面内容是否对你有帮助?
有帮助
没帮助

相关·内容

vim 从嫌弃到依赖(21)——跨文件搜索

当我们要频繁不同文件间进行跳转时候,要频繁退回到 shell 并执行 vim 来打开,操作上比较繁琐。...vim 为这种需求提供了自己工具—— :grep 命令 :vimgrep 在vim中输入 :grep "\-\- TODO" **/*.lua 会发现 vim 在下方显示了当前所有搜索到内容。...遍历 quickfix 列表 quickfix 列表是由我们执行 :make 命令或者 :grep 命令所产生,它会保存一个或者多个文件位置信息。...因为它与搜索模式下使用模式相同,因此这里我们可以先用查找模式来在一个文件中进行试验,试验成功后再使用 vimgrep,否则错误结果将会污染历史 quickfix 列表,影响后续使用 colder...然后使用模式域留空方式查找,即 :vimgrep //gj **/*.lua 关于 vimgrep内容就介绍到这里了,一般我很少使用原装 :grep :vimgrep

96130

vim从安装到熟练,这篇文章就够了

可以用grep或vimgrep查找一个模式都在哪些地方出现过, 其中:grep是调用外部grep程序,而:vimgrep是vim自己查找算法。...其实vimgrep在读纯文本电子书时特别有用,可以生成导航目录。 比如电子书中每一节标题形式为:n. xxxx。...编译 vim提供了:make来编译程序,默认调用make, 如果你当前目录下有makefile,简单地:make即可。...如果你没有make程序,你可以通过配置makeprg选项来更改make调用程序。 如果你只有一个abc.Java文件,你可以这样设置: 然后:make即可。...@: 重复上一次冒号命令。 q: 正常模式下,q然后按':',打开命令行历史缓冲区, 可以像编辑文件一样编辑命令。 q/q? 可以打开查找历史记录。 执行外部命令 :!

4.6K10

makemake allmake clean使用方法

刚接触Linux,认为直接make后就完成了编译,没想到编译出结果存在很大问题,原来是makemake allmake clean使用方法不对。...1、理论 makemake all make clean 是在使用 make 构建系统时常见命令。它们用于编译管理项目中代码。...以下是每个命令功能区别: 1、make 功能:make 命令默认会查找当前目录下 Makefile 或 makefile 文件,并执行该文件中第一个目标(target)。...如果第一个目标依赖于其他目标,make 会先构建这些依赖目标。 使用场景:通常用于编译链接项目中代码。如果没有指定目标,make 会尝试编译链接整个项目。...make clean:清理项目,删除之前构建过程中生成文件,准备一个干净构建环境。 2、实践 让我们通过一个具体例子来解释 makemake all make clean 功能区别。

97410

golang newmake区别

Go语言中newmake都是用来内存分配原语(allocation primitives)。简单说,new只分配内存,make用于slice,map,channel初始化。...通过new其返回一个指向新分配类型为int指针,指针值为0xc00004c088,这个指针指向内容值为零(zero value)。 同时,需要注意不同指针类型零值是不同。...close(chv) make不仅可以开辟一个内存,还能给这个内存类型初始化其零值。...小结: makenew都是golang用来分配内存內建函数,且在堆上分配内存,make 即分配内存,也初始化内存。new只是将内存清零,并没有初始化内存。...make返回还是引用类型本身;而new返回是指向类型指针。 make只能用来分配及初始化类型为slice,map,channel数据;new可以分配任意类型数据。 目录

4.6K20

vim 从嫌弃到依赖(22)——自动补全

我们对 c/c++ 语言执行 :make 也就是在调用 shell 中 make 命令。它会将编译产生错误信息存储在 quickfix 列表中。我们上一节中介绍了如何操作 quickfix 列表。...同样 :make 也支持使用相同方法进行改造。 :make 命令中,使用 makeprg 来执行外部命令,使用 errorformat 来格式化输出到 quickfix 中。...> 来切换补全菜单中上一条下一条。...k : 从字典文件中加载补全项 i : 从当前文件包含文件中读取 d : 从当前文件包含文件中读取使用 define定义宏 完整内容可以使用 :h 'complete' 来查看。...同时也介绍了如何使用快捷键来进行不同补全,现在对这些快捷键总结如下: : 普通关键字补全,主要来源自缓冲区列表当前缓冲区 : 与 <Ctrl

93020

聊聊golangmakenew函数

今天在聊makenew函数之前,咱们先来看一种现象 当然如果你对golang指针还不是很了解,可以先看看这篇文章,以做到无缝连接 看完这个,我彻底理解了golang指针 case1 var a...如果想赋值的话,需要用new或者make函数向系统提前申请内存才行。...makenew区别 makenew都是用来内存分配方法,简单说,new只分配内存, 「make用于slice,map,channel初始化,不仅可以开辟一个内存,还能给这个内存类型初始化其零值...」 make返回还是引用类型本身;而new返回是指向类型指针。...make func make(t Type, size ...IntegerType) Type new func new(Type) *Type make只能用来分配及初始化类型为slice,map

24920

Go语言newmake区别

Go语言中newmake都是用来内存分配原语(allocation primitives)。简单说,new只分配内存,make用于slice,map,channel初始化。...通过new其返回一个指向新分配类型为int指针,指针值为0xc00004c088,这个指针指向内容值为零(zero value)。同时,需要注意不同指针类型零值是不同。...close(chv)make不仅可以开辟一个内存,还能给这个内存类型初始化其零值。...小结:makenew都是golang用来分配内存內建函数,且在堆上分配内存,make 即分配内存,也初始化内存。new只是将内存清零,并没有初始化内存。...make返回还是引用类型本身;而new返回是指向类型指针。make只能用来分配及初始化类型为slice,map,channel数据;new可以分配任意类型数据。

35520

无插件Vim编程技巧

如果你要改变当前浏览目录,或是查看当前浏览目录,你可以使用shell一样命令: :cd – 改变当前目录 :pwd  – 查看当前目录 缓冲区 其实,你用:E 浏览打开文件都没有被关闭...: – (非活动缓冲区) a (当前被激活缓冲区) h (隐藏缓冲区) % (当前缓冲区) # (交换缓冲区) = (只读缓冲区) + (已经更改缓冲区) 窗口分屏浏览 相信你在《Vim...你可以简单地使用: :qa   – 退出全部  :wqa  -保存全部并退出全部 Quickfix 假如我们有一个hello.cpp文件一个makefile,于是我们可以直接在vim下输入 :...make , 于是就可以make这个hello.cpp文件,如果出错了,我们需要按回车返回,这个时候,我们可以使用下面的命令来把出错显到在vim分屏中: :cw 于是,就会出现下面右边那个样子...上图中左边是我makefile,右边是我错误百出源代码,右边下面是quickfix窗屏。你可以看到quickfix窗屏指向第一个错误已经定位到我们相就错误文件行上了。

1.3K20

Golang中makenew区别

对于不同数据类型,零值意义是完全不一样。...比如,对于bool类型,零值为false;int零值为0;string零值是空字符串 make: func make(t Type, size ...IntegerType) Type 同样用于内存分配...,但new不同make用于channel,slicemap分配,而且返回类型就是这三个类型本身,而不是它们指针,因为这三种类型本身就是引用类型,所以就没必要返回他们指针了。...具体而言,有如下几种用法: (1)make(map[string]string):即缺少长度参数,只传类型,这种用法只能用在类型为map或chan场景 (2)make([]int, 2):指定了长度...,例如make([]int, 2)返回是一个长度为2slice (3)make([]int, 2, 4):既指定了长度len为2,又指定了cap为4 注意:由于这三种类型都是引用类型,所以必须得初始化

71330

Go语言中newmake区别

Go语言中newmake是内建两个函数,主要用来创建分配类型内存。在我们定义生成变量时候,可能会觉得有点迷惑,其实他们规则很简单,下面我们就通过一些示例说明他们区别使用。...这就是上面错误提示原因。 对于值类型声明不需要,是因为已经默认帮我们分配好了。 要分配内存,就引出来今天newmake。 new 对于上面的问题我们如何解决呢?...make make也是用于内存分配,但是new不同,它只用于chan、map以及切片内存创建,而且它返回类型就是这三个类型本身,而不是他们指针类型,因为这三种类型就是引用类型,所以就没有必要返回他们指针了...注意,因为这三种类型是引用类型,所以必须得初始化,但是不是置为零值,这个new是不一样。...make函数是无可替代,我们在使用slice、map以及channel时候,还是要使用make进行初始化,然后才才可以对他们进行操作。

36020

Go语言中newmake区别

Go语言中newmake是内建两个函数,主要用来创建分配类型内存。在我们定义生成变量时候,可能会觉得有点迷惑,其实他们规则很简单,下面我们就通过一些示例说明他们区别使用。...变量声明 变量声明我们可以通过关键字,然后就可以在程序中使用。当我们不指定变量默认值时,这些变量默认值是他们零值,比如类型零值是0,类型零值是,引用类型零值是。...对于值类型声明不需要,是因为已经默认帮我们分配好了。 要分配内存,就引出来今天。 new 对于上面的问题我们如何解决呢?既然我们知道了没有为其分配内存,那么我们使用new分配一个吧。...make 也是用于内存分配,但是不同,它只用于、以及切片内存创建,而且它返回类型就是这三个类型本身,而不是他们指针类型,因为这三种类型就是引用类型,所以就没有必要返回他们指针了。...注意,因为这三种类型是引用类型,所以必须得初始化,但是不是置为零值,这个是不一样。 从函数声明中可以看到,返回还是该类型。

50870

Vim激荡30年发展史

备份undo 根据不同用户设置,Vim可以防止四种类型丢失: 编辑过程中(两次保存之间)崩溃。Vim会定期将未保存修改写入交换文件来防止这种情况。...编辑-编译循环 :make 命令会执行用户选择程序来构建项目,然后将输出收集到quickfix缓冲区中。quickfix记录中每一项都记录了文件名、行号、列号、类型(警告或错误)消息。...如果需要查看有关当前错误更多信息,可以使用 :cc ,然后用 :copen 命令查看完整quickfix缓冲区。...还可以使用 :cile、:caddfile 或 :cexpr 命令,无需运行:make而自行填充quickfix缓冲区。 Vim能够利用指定errorformat字符串解析编译输出。...下面是应用例子。不同项目有不同编码规范,所以你可以将默认C设置与特定项目的设置结合起来。

1.3K30

in exists 不同

in OR exists in 是把外表内表做 hash 连接,而 exists 是对外表作 loop 循环,每次 loop 循环再对内表进行查询,一直以来认为 exists 比 in 效率高说法是不准确...如果两个表大小相当,则 in exists 效率是差不多,如果两个表一大一小,则子查询表大用 exists,子查询表小用 in。...但是如果两个表差不多大,或者子查询表较小时候,就可以选择 in 做查询了。...not in OR not exists not in not exists 两个选择就比较简单了,就是仅使用 not exists 即可。...这主要是因为 null 是无法进行“操作”,也就是 null 几个原则: 如果 null 参与算术运算,则该算术表达式值为 null 。

77810

Golang 语言中内置函数 make new

01 介绍 Golang 语言中内置函数 make new 都是用作变量初始化,但是它们初始化变量方式不同。...与 new 不同make 返回类型与其参数类型相同,而不是指向它指针。...Channel c := make(chan T, 10) 以上示例代码表示给 channel 分配内存空间大小(缓冲容量)为 10。channel 缓冲区使用指定值初始化缓冲容量。...04 make new 区别 在阅读完上述内容后,我相信读者朋友们应该已经了解了二者区别。 make 仅用于初始化 slice,map chan,new 可用于初始化任意类型。...05 总结 本文我们介绍了内置函数 make new,并且对比归纳了二者区别,在 Golang 开发中,内置函数 make 是必用,因为 slice,map chan,必须使用内置函数 make

40420
领券