4. VIM 系列 - 认识VIM的缓冲区、窗口、标签页
1. 缓冲区
文件和缓冲区的区别
vim 打开一个文件时,其实是从磁盘中读取文件到内存中,vim的一些操作其实是在操作缓冲区,
当使用vim的保存命令时,vim才将缓冲区写回给文件。
操作缓冲区
| 命令 | 用途 |
|---|---|
| :bprev | 跳转到前一个buffer |
| :bnext | 跳转到后一个buffer |
| :bfirst | 跳转到第一个buffer |
| :blast | 跳转到最后一个buffer |
| :w | 将当前buffer写入文件 |
| :e | 重新将文件内容加载到缓冲区(回滚buffer修改) |
| :qa! | 关闭所有buffer,且不保存 |
| :wa! | 保存所有buffer |
2. 窗口
在Vim 术语中,窗口是缓冲区的显示区域。既可以打开多个窗口,在这些窗口中显示同一个缓冲区,
也可以在每个窗口里载入不同的缓冲区。Vim 的窗口管理系统很灵活,可以根据工作的需要来调整
工作区。
操作窗口
| 命令 | 用途 |
|---|---|
| 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. 设置一下热键
在~/.vimrc 配置一些热键
" 窗口快捷方式
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
4. VIM 系列 - 认识VIM的缓冲区、窗口、标签页的更多相关文章
- Vim技能修炼教程(9) - 缓冲区和标签页
缓冲区 上一节我们学习了窗口相关的命令,其实多窗口的最大功能在于存放多个不同的缓冲区. 文件载入内存之后,我们操作的其实是缓冲区.:write命令就是将缓冲区写回文件的目的. 查看内存中的缓冲区 通过 ...
- 8. VIM 系列 - 利用 VIM 8.1 版本编译项目和GDB调试
目录 term 模式 termdebug 模式 VIM版本安装请参考: 0. VIM 系列 - 源码升级最新版本vim term 模式 输入:term 打开此模式,效果如下 这个模式有编辑文本窗口和s ...
- 20141112 WinForm子窗口标签页
(一)标签页 先看看效果: 代码: public partial class 标签页 : Form { string s = ""; public 标签页() { Initiali ...
- Google 浏览器设置打开超链接到新窗口标签页
一.windows 按住Ctrl + 鼠标点击,在新窗口打开,停留在当前页面: 按住Ctrl + Shift + 鼠标点击,在新窗口打开,停留在新窗口: 登录Google账号,管理Google账号, ...
- 2. VIM 系列 - 初探vim配置文件
目录 配置文件 .vimrc 基本配置 tab 键设置 热键配置 配置文件 刚安装vim默认配置,功能是很简单的,vim的功能很多是需要配置开启的. .vimrc 使用vim打开配置文件~/.vimr ...
- 【vim】分割窗口、标签页与Quickfix窗口
vim支持窗口分割和标签页,合适地使用这两种特性可以使文字编辑工作更愉快. 1. 窗口分割 vim支持窗口的水平分割和垂直分割.以下是常用的操作指令或快捷键. 命令 说明 vim -o <fil ...
- (四)、vim的缓冲区、标签、窗口操作
1.缓冲区的基本操作 a.文件与缓冲区的区别 vim file1 打开一个文件时,其实是从磁盘中读取文件到内存中,文件的内容会被加载到缓冲区中, 这个缓冲区在一个窗口上显示,所以他是一个已激活的缓 ...
- 【CNMP系列】VIM编辑器详解
缘起 大学的时候做过Linux内核驱动程序研发,之前写C语言就是用的Vim编辑器,当年的Vim还不如今天之强大,当时的插件也没有现在这么多,只是觉得这个编辑器能满足我想要的所有,查看Linux内核代码 ...
- 5. VIM 系列 - 文件管理
目录 目录树 文件检索 ctrlp.vim fzf.vim 目录树 安装 nerdtree.vim 插件 Plug 'scrooloose/nerdtree', { 'on': 'NERDTreeTo ...
随机推荐
- Android 手势锁的实现 让自己的应用更加安全吧
转载请标明出处:http://blog.csdn.net/lmj623565791/article/details/36236113 今天偶遇以github上gesturelock关于手势锁的一个例子 ...
- testng增加失败重跑机制
注: 以下内容引自 http://www.yeetrack.com/?p=1015 testng增加失败重跑机制 Posted on 2014 年 10 月 31 日 使用Testng框架搭建自动测试 ...
- Oracle解锁scott账号
在安装Oracle的最后一步,有一个口令管理的操作,当时忘了给scott账号解锁了(Oracle为程序测试提供的一个普通账户,口令管理中可以对数据库用户设置密码,默认是锁定的).现在想给scott这个 ...
- 【bzoj1758】[Wc2010]重建计划
Description Input 第一行包含一个正整数N,表示X国的城市个数. 第二行包含两个正整数L和U,表示政策要求的第一期重建方案中修建道路数的上下限 接下来的N-1行描述重建小组的原有方案, ...
- 拯救莫莉斯 状压dp
题目大意:每个点有费用,要求选出花费最少的一些点,使得全部点都满足:他被选或与他相邻的任意点被选. 没看清数据范围233333 和翻格子游戏一样,考虑上中下三行,可行才能转移 f[i][j][k]表示 ...
- BZOJ_2738_矩阵乘法_整体二分
BZOJ_2738_矩阵乘法_整体二分 Description 给你一个N*N的矩阵,不用算矩阵乘法,但是每次询问一个子矩形的第K小数. Input 第一行两个数N,Q,表示矩阵大小和询问组数: 接下 ...
- 【Canal源码分析】Sink及Store工作过程
一.序列图 二.源码分析 2.1 Sink Sink阶段所做的事情,就是根据一定的规则,对binlog数据进行一定的过滤.我们之前跟踪过parser过程的代码,发现在parser完成后,会把数据放到一 ...
- typecho设置文章密码保护
在别人博客看到了一个需要输入密码才能访问文章的功能,像下图一样 typecho也是有这个功能,不需要插件就可以实现.在编辑文章时,右边高级选项,公开度里有个密码保护可以选择 效果图 不过这样的界面不是 ...
- Python:基于MD5的文件监听程序
前述 写了一个基于MD5算法的文件监听程序,通过不同的文件能够生成不同的哈希函数,来实现实现判断文件夹中的文件的增加.修改.删除和过滤含有特定字符的文件名的文件. 需求说明 需要实现对一个文件夹下的文 ...
- SSH免密登陆原理及实现
声明:作者原创,转载注明出处. 作者:帅气陈吃苹果 一.SSH简介 SSH(Secure Shell)是一种通信加密协议,加密算法包括:RSA.DSA等. RSA:非对称加密算法,其安全性基于极其困难 ...