Vim中的buffer, window, tab
来源:互联网 发布:电脑中文编程语言视频 编辑:程序博客网 时间:2024/05/22 06:25
Preface
一直都搞不清楚Vim的buffer,window以及tab的含义,今天搜了一下,发现一篇文章讲了这个,于是沿着别人的思路自己边看边探索。
Buffer
在Vim中,可以把buffer看成一个打开的文件实例。比如我用vim打开了一个文件,这时候就相当于创建了一个buffer,该buffer属于刚才这个文件。
但是,虽然打开了文件就创建了buffer,buffer不一定就可以被看到,buffer可以存在于background中。以我下面的操作为例
vim a #打开了一个文件a,创建了一个buffer名为a:ls #该命令可以查看buffer list # 1 %a "a":e b #在vim中使用:edit打开一个文件b,这时vim内容换成文件b的内容:ls #再来看buffer list,发现现在有两个buffer,其中buffer a 还在 # 1 #h "a" # 2 %a "b":b 1 #使用:buffer命令切换到buffer a,现在vim的内容又换成文件a了
让一个buffer 退到 后台是有条件的,要么
- buffer没有被修改,或者修改已经被保存
- vim设置了hidden,
:set hidden
Window
window和buffer类似,但是它是一个buffer的视口(viewport),也就是说是可以被看见的,同时,一个buffer可以有任意数量的window,因为每个window只是作为buffer的一个viewport,那我们从不同的viewport去观察同一个buffer,并没什么不好理解的。
打比方,buffer是个房子,而不同的window就是房子的不同窗户。
vim a # vim打开文件a:split a # 新建一个文件a的window:ls # 查看buffer list,发现只有一个buffer a # 1 %a "a":split b # 现在以窗口的形式打开一个文件b,之前文件a的两个窗口还保留着,也就是我们可看到内容:ls # 查看buffer list,因为打开了文件b,自然就产生了新的Buffer,而且和buffer a都处于active状态 # 1 #a "a" # 2 %a "b"
如果,我们在b窗口,切换buffer会怎么样?
#在b窗口上操作:b 1 # 切换到buffer a
这时会发现,原来的窗口b的内容切换成文件a的内容,而且窗口的名称也变成a了(之前是b),当然,buffer b还会存在,只不过到后台去了(hidden状态)。
Tab
在Vim中,tab是几个window组合成的集合。有了前面的基础,就不难理解了。
总结
Vim和Nodepad++在tab模型上有显著的区别。个人觉得vim提供了更丰富结构,充分理解vim的buffer, window以及tab的关系是很有必要的。
1 0
- Vim中的buffer, window, tab
- Vim扫盲: buffer,window,tab
- 29.vim高效使用方法之buffer、window和tab
- Vim中的Tab
- vim中的quickfix window
- tab, buffer, split window的区别与联系
- vim中的tab和space
- vim中buffer、windows和tab的概念
- vim中buffer、windows和tab的概念
- Vim中的空格和tab的替换
- Vim buffer
- vim Buffer
- vim buffer.
- Vim Tab
- Vim – Open file in existing window new tab on Windows
- vim-buffer explorer
- Vim Buffer(转载)
- Vim Buffer(转载)
- 金明的预算方案
- hdu 5182 水题
- hdu 1263 水果
- Android Studio 快捷键 (OSX)
- 黑马程序员——Java多线程2
- Vim中的buffer, window, tab
- 网易云课堂《Linux内和分析》汇编分析和寻址方式小结(一)
- Linux内核编译详解
- CSS小结
- 怎样获取按钮的坐标
- 【设计模式】——六芒星
- 突遇幽灵BUG
- LINUX下的C++编译器GCC简介
- C连接mysql出现错误:Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.soc