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

目录

  • 1. 缓冲区
  • 2. 窗口
  • 3. 标签页
  • 4. 设置一下热键

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 :tabn

原文地址:https://www.cnblogs.com/standardzero/p/10720922.html

时间: 2024-10-13 09:29:12

4. VIM 系列 - 认识VIM的缓冲区、窗口、标签页的相关文章

20141112 WinForm子窗口标签页

(一)标签页 先看看效果: 代码: 1 public partial class 标签页 : Form 2 { 3 string s = ""; 4 public 标签页() 5 { 6 InitializeComponent(); 7 } 8 /// <summary> 9 /// 判断选项卡中是否有本选项卡 10 /// </summary> 11 /// <param name="s">选项卡名</param>

【vim】分割窗口与标签页

vim支持窗口分割和标签页,合适地使用这两种特性可以使文字编辑工具更愉快. 1. 窗口分割 vim支持窗口的水平分割和垂直分割.以下是常用的操作指令或快捷键. 命令 说明 vim -o <files> 打开多个文件,并将它们放在水平分割的窗口中 vim -O <files> 打开多个文件,并将它们放在垂直分割的窗口中 :sp[lit] [file] 不加file参数时,新建一个水平窗口,放置当前文件的副本:带file参数时,新建一个水平窗口并把file放在新窗口中. 新窗口将位于当

20_Shell语言———VIM编辑器基础知识三之窗口属性定制、配置文件及查找替换功能

Vim编辑器可以让用户按照需求来定制一些使用属性. 一.窗口属性定义 1)显示行号 行号不是内容,只是用来帮助用户确认文本所在的行.在vim编辑器中,如果要显示行号,可以在末行模式下输入: set number 如果想关闭,则可以在功能名称前面加上no,即: set nonumber 命令可以被简写,如set number 可以简写为 set nu:set nonumber 可以简写为 set nonu. 注意,上述设定仅对当前vim的进程有效,一旦当前进程关闭,这些设定就会失效,如果要使设定永

vim的强大,vim设置和插件的使用,脱离windows才是王道

map <C-F12> :!ctags -R --c++-kinds=+p --fields=+iaS --extra=+q .<CR> let Tlist_Show_One_File=1 let Tlist_Exit_OnlyWindow=1 let Tlist_Auto_Open=1 set nocompatible """"""""""界面"""&

vim用多个标签页打开多个文件

1.打 开 新 标 签 页 启动 Vim 时用 "vim -p filename ..." :tabe[dit]                                 :tabnew         在当前标签页之后打开带空窗口的新标签页. :tabe[dit] [++opt] [+cmd]  :tabnew [++opt] [+cmd]                  打开新标签页并编辑 ,其余和 |:edit| 类同. :tabf[ind] [++opt] [+cmd]

【笔记】VIM技巧之 多标签页

1. 打开新标签页 :tabe[dit] {file} 2. 关闭标签页 :tabc[lose][!] 关闭当前标签页. 如下情形使该命令失败: - 屏幕上只有一个标签页. *E784* - 如果 'hidden' 没有置位,没有 [!],缓冲区有修改,而且该缓冲区没有其它窗口.   缓冲区的修改不会被写入,也不会丢失.所以这可以说是个 "安全的"命令. :tabc[lose][!] {count} 关闭第 {count} 个标签页.失败条件和上面的 ':tabclose' 相同. *

Linux centosVMware Vim介绍、vim颜色显示和移动光标、vim一般模式下移动光标、vim一般模式下复制、剪切和粘贴

一.Vim介绍 vim 是一款功能强大的文本编辑器,是vi的升级版,带有颜色显示, 默认有三种模式:一般模式, 命令模式,  编辑模式   安装Vim [[email protected] ~]# vim /etc/passwd-bash: vim: 未找到命令[[email protected] ~]# [[email protected] ~]# yum install -y vim-enhanced ... 二.颜色显示.移动光标 [[email protected] ~]# vim /e

进入编辑模式 vim命令模式 vim实践

进入编辑模式编辑模式,就是我们可以进行修改文档,配置的模式i 在当前字符前插入I(大写) 在光标所在行行首插入a 在当前字符后面插入A(大写) 在所在行行尾插入o 在当前行下面另起一行插入O(大写) 在当前行上面另起一行插入 ·····vim命令模式查找:/加你要查找的字符:·替换:(:1,21s/yang/huang/g)意思为在1-21行里将yang替换为huang(不加g只会替换一行中出现的第一个)·不加g的样子·(:1,$s/yang/huang/g)意思为1-最后一行里将yang替换为

struts2 官方系列教程三:使用struts2 标签 tag

避免被爬,先贴上本帖地址:struts2 官方系列教程一:使用struts2 标签 tag http://www.cnblogs.com/linghaoxinpian/p/6901316.html 本教材假定你已完成了HelloWorld项目,你可以在 struts2 官方系列教程三:使用struts2 标签 tag 下载本章节的代码 在上一节教程中,我们在index.jsp中使用 url tag 创建了一个超链接hello.action 这节我们将探索struts2中其它tags Web应用程