返回首页
当前位置: 主页 > 精通Office > 其他教程 >

VIM—概念和技巧

时间:2015-12-28 21:45来源:知行网www.zhixing123.cn 编辑:麦田守望者

Vim 概念

Vim 系列有很多人催更了,今天就写写 Vim 的基本概念,之后介绍几个使用技巧

下面我们来介绍一下Vim中的几个基本概念:Buffer(缓冲区)、Window(窗口)和Tab-page(标签页)。

1、Buffer:很多读者问,用 Vim 打开文件后,文件内容存哪了,每次修改都要读写硬盘吗?显然不会每次编辑都写硬盘,事实上Vim打开的文件都会被加载到内存中,在内存中我们使用 Buffer 来描述正在编辑的文件,一个Buffer对应一个被编辑的文件副本。当我们在完成了一个Buffer的编辑后就可以保存该文件。Buffer不仅包含了文件的内容,也记录了该文件的编辑状态等配置信息,比如激活、隐藏、上次编辑行数等。

用Vim可以打开多个文件同时编辑,也可以把不需要的文件关掉,但这时文件副本依然保存在缓冲区中,我们可以通过 :ls:buffers查看这些Buffer,还可以通过类似:buffer n的方式重新打开文件(n表示Buffer的序号)。当然,我们有更好的方式来处理这些Buffer,那就是CommandTBuffer,要想使用CommandTBuffer,先要安装CommandT插件,请大家记住这个插件的名字,我们以后会用到。

2、Window:是对应Buffer的一个展示窗口。一个Buffer可以对应多个窗口,比如我们可以通过:split filename:vsplit filename命令在多个窗口打开一个文件,当修改某一个窗口的文件时,其他窗口都会同步更新。当然我们也可以在多个窗口打开多个文件,编辑后用:wq保存退出,但是记住,只要没有最终退出Vim进程,那么这些打开的文件Buffer依然保存在缓存区中,可以随时再次打开。

3、Tab-page:Tab-page就比较容易理解,对应一组窗口,我们可以通过:tabedit filename在另一个标签页中打开一个文件,在这个标签页中又可以打开多个窗口。

下图可以清晰的表达Buffer、Window和Tab-page的关系:

bwt

理解了这三个概念和三者之间的关系,对我们用好Vim有非常大的帮助。

Vim 技巧

1、打开 Vim之后,可以用:split filename:vsplit filenamenew filename横向或纵向切割窗口,使用 ctrl + w可以在个窗口之间跳转,使用 ctrl + 方向键可以按照方向切换窗口。

2、用 Vim 打开一个文件,如果我们想实现所有文本行翻转,那么可以执行如下命令:
:g/^/m 0

3、在 Vim 中统计文本行数和当前光标的位置,可以使用 ctrl + g,统计字节数,可以使用 g + ctrl + g

4、对文本进行简单排序:
用 shift v 选中多行文本,输入 : !sort,看看效果如何

5、如果你想把当前目录下(包括子文件夹)所有后缀为 java 的文件中的 apache 替换成 eclipse,那么依次执行如下命令: 在当前目录下执行:

vim 
:n **/*.java 
:argdo %s/apache/eclipse/ge | update

第四个技巧在 Vim 系列第二篇里提到过,今天解释一下,这就用到了buffer 的概念,通过正则表达式在内存中打开多个文件,argdo 表示在内存中执行 Vim 的命令,%s/apache/eclipse/ge 表示在内存中执行字符串替换,g 表示全局替换,e 表示如果文件中没有可替换字符串不报错继续执行,| 是管道标识符,update 表示替换完之后更新并写入文件。

------分隔线----------------------------
标签(Tag):Vim
------分隔线----------------------------
推荐内容
  • Chrome 浏览器清除历史记录

    Chrome 浏览器是我觉得所有浏览器中最好用的,没有之一。虽然我自己电脑上还装了 Fire...

  • 如何从零搭建一个自动化运维体系

    对自动化运维体系的需求,是随着业务的增长、对运维效率和质量的要求不断提高而产生的...

  • 手把手教你如何做IP安全策略

    服务器的安全可以通过设定IP安全策略来得到一定的保护,对于每个Windows网管人员来说I...

  • 如何解决电脑双硬盘引起的异常响声

    电脑就有了两块硬盘:SSD(装系统)+ HDD(装电影,你懂的~),感觉就是爽歪歪! 问题...

  • 知行网教你快速打造属于自己的U盘图标

    大家是否厌倦了千盘一面,也想和小明一样,拥有属于自己的个性化U盘图标?其实,这很...

  • PotPlayer正在运行迅雷时播放视频黑屏怎么办?解决P

    PotPlayer正在运行迅雷时播放视频黑屏怎么办?解决PotPlayer迅雷播放黑屏问题! 最近我...

  • 猜你感兴趣
  • 教育技术学动态
  • 教育技术学论文
  • 理论研究
  • 应用研究
  • 资源收藏
  • 百家观点
  • 英文文献
  • 中国电化教育
  • 电化教育研究
  • 中国远程教育
  • 开放教育研究
  • 现代教育技术
  • 远程教育杂志
  • 现代远距离教育
  • 中国教育信息化
  • 中国信息技术教育
  • 中小学信息技术
  • Flash龙8国际平台入口
  • Photoshop龙8国际平台入口
  • 3DMAX龙8国际平台入口
  • AutoCAD龙8国际平台入口
  • CorelDRAW龙8国际平台入口
  • Matlab龙8国际平台入口
  • 其他龙8国际平台入口
  • .Net龙8国际平台入口
  • Asp龙8国际平台入口
  • Php龙8国际平台入口
  • Jsp龙8国际平台入口
  • Ajax龙8国际平台入口
  • Android教程
  • 其他龙8国际平台入口
  • Word教程
  • Excel教程
  • PowerPoint教程
  • Ubuntu教程
  • 其他教程
  • 课件下载
  • 软件下载
  • 视频教程下载
  • 其他下载
  • 教案大全
  • 试题大全
  • 课件大全
  • 其他大全
  • 人像摄影
  • 风光摄影