(四)、vim的缓冲区、标签、窗口操作

1、缓冲区的基本操作

a、文件与缓冲区的区别

vim file1   打开一个文件时,其实是从磁盘中读取文件到内存中,文件的内容会被加载到缓冲区中,

这个缓冲区在一个窗口上显示,所以他是一个已激活的缓冲区,现在可以使用 :e file2  命令加载另一

个文件,file将会变成一个隐藏的缓冲区,并且  file2   变成已激活缓冲区,vim的一些操作是在操作缓

冲区,当使用vim的保存命令时,vim才将缓冲区写会给文件。

命令 用途
:bprev 跳转到前一个buffer
:bnext 跳转到后一个buffer
:bfirst 跳转到第一个buffer
:blast 跳转到最后一个buffer
:buffer num 激活加载第num个文件
:w 将当前buffer写入文件
:e 重新将文件内容加载到缓冲区
:qa! 关闭所有buffer,且不保存
:wa! 保存所有buffer
:ball 为每一个buffer打开一个窗口
:bdelete num 或者  文件名 从缓冲区删除第n个文件
:badd filename 新增一个缓冲区,指定的文件会被加载到缓冲区列表中
:buffers, :files :ls 列出当前编辑中的缓冲区信息,第一个数字是缓冲区的标号,第二个是缓冲区当前的状态

2、窗口

窗口是缓冲区的显示区域,既可以打开多个窗口,在这些窗口中显示同一个缓冲区,也可以在每一个窗口里载入不同的缓冲区。

命令 用途
s 水平切分当前窗口,新窗口仍显示当前缓冲区
v 水平切分当前窗口,新窗口仍显示当前缓冲区
sp 水平切分当前窗口,新窗口仍显示当前缓冲区
vsp 水平切分当前窗口,新窗口仍显示当前缓冲区
w 在窗口间循环切换
h 切换到左边的窗口
j 切换到下边的窗口
k 切换到上边的窗口
l 切换到右边的窗口
c 关闭活动窗口
o 只保留活动窗口,关闭其他所有窗口

 

3.标签页

Vim 的标签页接口和其他许多文本编辑器不同,在Vim中,可以用标签页把窗口组织到一系列

工作区中。典型文本编辑器的图形界面(GUI)有一个用于编辑文件的主工作区,还有一个显

示当前工程目录树的侧边栏。如果点击侧边栏中的文件,它会在主工作区为所选中的文件打开

一个新标签页。每个打开的文件都会创建一个新标签页。在此模型中,可以说标签页代表了当

前打开的文件。Vim 的标签页与缓冲区并非一一对应的关系,相反,应该把标签页想成容纳一

系列窗口的容器。每个标签页都可包含一个或多个窗口。

命令用途
:tabe[dit] {filename} 在新标签页中打开 {filename}
:tabc[lose] 关闭当前标签页及其中的所有窗口
:tabo[nly] {filename} 只保留活动标签页,关闭所有其他标签页
:tabn[ext] {N} 切换到编号为 {N} 的标签页
:tabn[ext] 切换到下一标签页
:tabp[revious] 切换到上一标签页

4.热键

" 窗口快捷方式
map <s-h> <c-w>h
map <s-l> <c-w>l
map <s-j> <c-w>j
map <s-k> <c-w>k
map <s-w> <c-w>w
map <s-c> <c-w>c
map <s-o> <c-w>o

" buffer 快捷方式
nnoremap <Leader>bn :bn<CR>
nnoremap <Leader>bb :bp<CR>
nnoremap <Leader>bf :bfirst<CR>
nnoremap <Leader>bl :blast<CR>
nnoremap <Leader>bc :bwipe<CR>

" 标签页快捷方式
nnoremap <Leader>tp :tabp<CR>
nnoremap <Leader>tn :tabn<CR>
nnoremap <Leader>tc :tabc<CR>
nnoremap <Leader>to :tabo<CR>
nnoremap <Leader>tN :tabn
nnoremap <Leader>te :tabe

 

posted on 2020-08-17 20:18  ai_bingjie  阅读(933)  评论(0)    收藏  举报