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

(四)、vim的缓冲区、标签、窗口操作的更多相关文章

  1. 4. VIM 系列 - 认识VIM的缓冲区、窗口、标签页

    目录 1. 缓冲区 2. 窗口 3. 标签页 4. 设置一下热键 1. 缓冲区 文件和缓冲区的区别 vim 打开一个文件时,其实是从磁盘中读取文件到内存中,vim的一些操作其实是在操作缓冲区, 当使用 ...

  2. Vim 缓冲区与窗口 操作

    ##############缓冲区 :e(:open) 打开新缓冲区 :ls (:buffers) 列出列表内所有缓冲区/bs /bv /be(BufExplore快捷键) :b 2(:buffer ...

  3. 【转】vim中多标签和多窗口的使用

    原文:https://my.oschina.net/kutengshe/blog/464602 ---------------------------------------------------- ...

  4. 搞定vim的窗口操作

    最近在给学生演示数据结构代码时,发现用一般的方法总会有不方便,如果使用ide又觉得太浪费了,后来觉得用vim就够了,使用buffer总会需要页面调来跳出,学生看起来容易迷糊.所以就研究了下vim的窗口 ...

  5. vimcommandfilepatchcmdfold VIM技巧之分隔窗口 一级精华

    VIM技巧之分隔窗口 分类: 技术2010-07-08 09:57 754人阅读 评论(1) 收藏 举报   同时显示两个不同的文件, 或者同时查看同一个文件的两个不同位置, 或者是同步显示两个文件的 ...

  6. [Vim]vim使用笔记--分屏操作

    我们经常要打开多个文件,不同的窗口操作多个文件,分屏就很好用了. 1 命令模式下: :new,新建文件并分屏, 快捷键,Ctrl+W,然后马上按n键 :spilt 水平分屏,将当前屏分为两个,水平的. ...

  7. vim中的分屏操作

    title: vim中的分屏操作 date: 2017-11-14 21:45:11 tags: vim categories: 开发工具 在命令行中: vim -On file1 file2 # O ...

  8. 项目总结03:window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口

    window.open()方法用于子窗口数据回调至父窗口,即子窗口操作父窗口 项目中经常遇到一个业务逻辑:在A窗口中打开B窗口,在B窗口中操作完以后关闭B窗口,同时自动刷新A窗口(或局部更新A窗口)( ...

  9. vim的多标签

    vim支持多标签页,可以在同一窗口同时打开多个文档, 两种方法: vim -d 通过vim --help后发现vim -d相当与vimdiff模式 例子: $ vim -d a.txt b.txt c ...

随机推荐

  1. CodeBlocks相关配置

    因为我平时CodeBlocks的使用频率不高,但考试时需要用到,担心忘记相关配置在哪里调整,在此记录下. 打开调试模式 首先一定是创建项目. 项目创建完成后,配置调试器\(GDB\)路径 打开调试窗口 ...

  2. 这次我让你彻底弄懂 RESTful

    微信搜 「yes的练级攻略」干货满满,不然来掐我,回复[123]一份20W字的算法刷题笔记等你来领.欢迎分享,转载请保留出处. 本文已收录至 https://github.com/yessimida/ ...

  3. 第一次UML作业

    这个作业属于哪个课程 https://edu.cnblogs.com/campus/fzzcxy/2018SE2/ 这个作业要求在哪里 https://edu.cnblogs.com/campus/f ...

  4. 【Usaco 2009 Silver】JZOJ2020年9月19日提高B组T1 音乐节拍

    [Usaco 2009 Silver]JZOJ2020年9月19日提高B组T1 音乐节拍 题目 Description FJ准备教他的奶牛弹奏一首歌曲,歌曲由N(1<=N<=50,000) ...

  5. SQL Server 索引碎片整理

    索引碎片整理的四种方法: 1)删除索引并重建 2)使用 DROP_EXISTING 语句重建索引 3)使用 ALTER INDEX REBUILD 语句重建索引 4)使用 ALTER INDEX RE ...

  6. Spring Cloud Alibaba 初体验(三) Nacos 与 Dubbo 集成

    一.新建项目 新建项目,只放置接口,用于暴露 Dubbo 服务接口 public interface GreetingService { String greeting(); } 二.provider ...

  7. ChromiumWebBrowser flash不能自动播放问题解决方案

    前言:WPF项目 引用 CefSharp.Wpf 79.1.360,新版本的Cef默认flash不能自动播放 步骤一:提高pepflashplayer版本号 在CefSettings中设置版本号参数: ...

  8. 第4.4节 Python解析与推导:列表解析、字典解析、集合解析

    一.    引言 经过前几个章节的介绍,终于把与列表解析的前置内容介绍完了,本节老猿将列表解析.字典解析.集合解析进行统一的介绍. 前面章节老猿好几次说到了要介绍列表解析,但老猿认为涉及知识层面比较多 ...

  9. 【开发工具】 使用阿里的 Teambition 跟踪BUG修复及需求管理

    刚入公司几个月,公司新项目一直没有用协作工具进行BUG管理,公司也没有专业的测试工程师. 第一阶段开发到了尾声,工作效率实在太低,随决定使用一个比较现代一点的管理工具. 在众多在线项目协作软件中,我选 ...

  10. Error.name 六种值对应的信息

    1 EvalErroe:eval()  的使用与定义不一致 2 RangrError: 数值越界 3 ReferenceError:非法或不能识别的引用数值 4 SyntaxError:发生语法解析错 ...