Questions tagged «buffers»

加载到内存中的文件的表示形式。编辑是在缓冲区上执行的。

3
如何在Vim的quickfix窗口中列出缓冲区?
使用vim编辑器,一个常见的任务是浏览缓冲区。我现在使用标准命令,例如:ls或:bnext。实际上,我在.vimrc中设置了: "move amongs buffers with CTRL map <C-J> :bnext<CR> map <C-K> :bprev<CR> 我想以MRU插件实现的简单(优秀)方式在quickfix窗口中以列表形式浏览缓冲区。 是否有像MRU一样简单但作用于缓冲区的插件? 好的,可能的解决方案可能是使用:CtrlpBuffers命令,该命令是Ctrlp插件的一部分,但我不是Ctrlp的忠实拥护者,因为有时我不完全了解奇怪的行为(模糊模式选择...);所以我正在寻找一些真正简单的MRU插件。 顺便说一句,我开玩笑说:cexpr {expr},尝试用:buffers列表内容填充quickfix窗口,但是没有成功(可能是因为我的无知编程vimscripts) 有什么建议吗?
13 buffers  quickfix 

1
如果我使用:bwipeout会发生什么不好的事情?
我刚刚发现了:bwipeout命令,其:help状态如下: 类似于:bdelete,但实际上删除了缓冲区。与缓冲区有关的所有内容都将丢失。该缓冲区中的所有标记都将变为无效,选项设置将丢失,等等。除非您知道自己在做什么,否则请不要使用它。 除了显而易见的以外,我不清楚使用此命令的不利之处。 当我下次打开有问题的文件时,我的选项设置几乎总是会重置为相同的值,而丢失标记似乎也并不意味着不祥的警告:“除非您知道自己在做什么,否则请不要使用它。” “等”中包括什么?如果我没有预见到什么后果,会导致什么可怕的后果?
12 buffers 


1
每个窗口/缓冲区的搜索模式不同
是否有可能每个窗口或缓冲区具有不同的搜索模式,即 我想在窗口/缓冲区A中搜索术语A,在窗口/缓冲区B中搜索术语B,以便使用hlsearch突出显示并行拆分中的不同内容。
10 search  buffers 

1
将缓冲区内容作为vimscript执行
我有一个nofile包含vimscript 的缓冲区,我想执行它。但是,:so % 由于它需要保存的文件而不是缓冲区,因此将不起作用。默认情况下有vim命令执行此操作吗?如果不是,是否可以创建一个执行相同功能的函数?

2
替换整个缓冲区的最有效方法?
目前,我有两种类似的方法可以用其他一些文本替换整个缓冲区(例如在剪贴板中)。 方法1: 删除所有行::%d。 粘贴文字:("+P或类似文字:):put+。 方法2: 直观地选择所有行:ggVG。 粘贴文字:"+P。 但是,我似乎找不到一种单指令射击的方式来做到这一点。我找到的最接近的是:change命令。但这似乎不适用于寄存器。当然,我可以创建一些功能和/或映射一个键来做到这一点。但是在进行所有这些自定义之前,我需要确保: 是否有一些内置命令将一系列行替换为其他文本?就像,您可以:%replace+用剪贴板中的文本替换整个缓冲区吗?

1
多个缓冲区,相同文件,不同设置
是否可以同时在不同的设置下编辑文件?更准确地说,我想在Vim的同一实例中有多个缓冲区,它们具有相同的内容(更改一个缓冲区会立即影响另一个缓冲区的内容),但是光标位置,标记,语法高亮等都不同。 常见的用例包括独立编辑同一文件的不同部分(例如,无需在一个实例中进入可视模式而在另一实例中中断当前的可视模式选择),以及编辑混合格式的文件(例如HTML和Javascript)而无需切换设置。(第二个用例的另一种方法是根据光标位置自动更改设置,但这超出了此问题的范围。) 一位编辑的提及无疑会引起震惊,称其为“间接缓冲区”。
10 buffers 

3
什么是暂存窗口?
有时我会看到一个打开的窗口,其中显示name scratch。 我知道这是某种临时缓冲区/窗口。 我该如何装箱? :h scratch 什么也不返回。

1
选项“ switchbuf”应如何工作?
我最近发现了该选项switchbuf并尝试使用它,但是我不能说我是否不知道它应该如何工作,或者在我的Vim上实际上不起作用。 关于不同的可能值,医生说: useopen(如果包含),跳到 包含指定缓冲区(如果有)的第一个打开的窗口。 usetab 类似于“ useopen”,但也可以考虑其他标签页中的窗口。 然后set switchbuf=useopen,usetab,我在新的vim实例中使用和以下命令: 打开第一个缓冲区 :e file1 分割萤幕 :split 打开第二个缓冲区 :e file2 返回第一个缓冲区:e file1(我也用过:bN) 转到第一个缓冲区的最后一条命令在第二个拆分中将其打开。据我从文档中了解到,命令应该将光标放置到缓冲区已经打开的第一个拆分处useopen。当我使用制表符而不是拆分尝试相同的命令时,行为也相同。 这是预期的行为吗? 如果可以的话,您能否解释一下该选项应该做什么? 如果不是,我知道我必须调试我的设备,.vimrc但是也许已知有一个共同的设置会干扰我switchbuf吗?
10 vimrc  buffers  split 

1
为什么:bd#在不存在备用缓冲区的情况下删除当前缓冲区?
这是我重现观察到的行为的方式。 首先,我输入以下命令: echo aaaaa > a vim a 在Vim中,我输入以下命令: :ls :e # :echo bufname('#') 这是以上三个命令的输出: :ls 1 %a "a" line 1 :e # E194: No alternate file name to substitute for '#' :echo bufname('#') 该bufname('#')命令不产生任何输出。 现在我输入以下命令: :bd # 当前缓冲区被删除,并用“ [No Name]”缓冲区代替: :ls 2 %a "[No Name]" line 1 我期待E194在执行时得到错误:bd #。为什么要删除当前缓冲区呢? …

3
如何在新的vim文件中添加框架文本?
我使用Vim编写C ++,并且有很多#include<>语句,注释等,我必须在创建的每个新文件中包含这些语句,注释等。我已经添加 autocmd BufNewFile *.cpp r C:\(full file path of skeleton text file) 到我的vimrc,因为我听说这会创建一个缓冲区,其中包含我需要的文本。如何将该文本添加到新文件?有没有一种简单的方法可以从缓冲区执行此操作,或者有另一种简单的方法可以执行此操作?我也听说过一些有关模板插件的信息。有没有一种非常简单的方法可以为我做到这一点?

1
打开缓冲区时,“ +”符号是什么意思?
我想在垂直拆分中打开终端缓冲区。 如果我尝试:vertical split terminal我得到一个名为“终端”的缓冲区,而不是终端缓冲区。 我最近了解到可以:vertical split +terminal打开终端缓冲区,但是找不到帮助文档来解释+的作用。 “ +”是什么意思,是特定于终端缓冲区还是更通用的东西? 聚苯乙烯 我也刚刚意识到我可以做得到:vertical split | terminal相同的行为(至少我认为相同)。
9 buffers  neovim 

1
缓冲区vs选项卡vs arglist vs Windows
这么多选择!太混乱了! 什么时候应该优先使用另一个? 它们之间如何相互联系? 两者之间有什么区别? 它们如何影响您键入的命令? 它们与寄存器,宏,标记,选项和命令历史记录有何关系? 例如,像在典型的GUI程序中一样,选项卡是窗口的细分,还是其他窗口在窗口中的细分? 这与通过:next和访问的多个命令行参数(arglist):prev有何关系? 最后,哪些(如果有)vi兼容?


3
自动关闭最旧的缓冲区?
最近,我需要编辑大量文件,以使每个文件有一个小的更改。为了获得每个文件,我浏览了NERDtree并打开了一个文件。随着我打开越来越多的文件,我注意到我的内存使用量增长了很多。关闭vim给了我很多记忆。 我已经安装了许多插件,但是我认为我的内存使用量之所以急剧增长的原因是经过几次编辑后打开的缓冲区数量。 有没有办法限制vim允许一次打开的缓冲区数量,并根据编辑时间自动关闭旧缓冲区?
9 buffers 
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.