vim中缓冲区和寄存器有什么区别?

时间:2013-11-23 17:01:18

标签: vim buffer vim-registers

在vim中,命令:reg[ister]向我显示寄存器列表,而:ls显示缓冲区列表,但我不确定寄存器和缓冲区之间的确切区别。我认为寄存器是虚拟内存,与"(double quotation mark)+{a-zA-Z0-9.%#:-"}+{motion}一起使用。

那么,什么是缓冲区?到目前为止,我混淆了缓冲区和寄存器。

(我唯一知道的是寄存器在CPU中,RAM中的缓冲区。我需要明确这两个概念才能使用vim。

这是我在文档中发现的关于寄存器的内容:

There are nine types of registers:        
1. The unnamed register ""    
2. 10 numbered registers "0 to "9    
3. The small delete register "-    
4. 26 named registers "a to "z or "A to "Z    
5. four read-only registers ":, "., "% and "#    
6. the expression register "=    
7. The selection and drop registers "*, "+ and "~     
8. The black hole register "_    
9. Last search pattern register "/

2 个答案:

答案 0 :(得分:7)

缓冲区通常是指加载到内存中进行编辑的文件,尽管还有一些与文件无关的缓冲区。使用缓冲区允许您同时处理多个文件。

寄存器是一种剪贴板,一种可以保存文本的存储空间。有几种寄存器。当您执行某些操作(如yanking或删除文本)时,其中一些会自动填充。通过键入可以在帮助中找到更多信息 :help registers

答案 1 :(得分:0)

在vim中,缓冲区大部分是指打开的文件。它位于RAM中,与文件系统中的文件版本相比,可以进行未保存的修改。

您可以同时拥有多个缓冲区(如果您正在编辑多个文件)。 然后,您可以使用“bn”/“bp”在它们之间切换,使用“bd”删除一个。