概念
vi和vim
vi编辑器是所有Unix及Linux系统下标准的编辑器,它就相当于Windows系统中的记事本一样,它的强大不逊色于任何最新的文本编辑器,是我们使用Linux系统不能缺少的工具。由于对Unix及Linux系统任何版本,vi编辑器是完全相同的,所以掌握它意义重大。
提到vi就不能不提vim了,相关背景:
Bram Moolenaar 在 80 年代末购入他的 Amiga计算机时,Amiga 上没有他最常用的 编辑器vi。Bram 从一个开源的 vi 复制 Stevie 开始,开发了 vim 的 1.0 版本。最初的目标只是完全复制 vi 的功能,那个时候的 vim 是Vi IMitation(模拟)的简称。1991 年 vim 1.14 版被 "Fred Fish Disk #591" ——Amiga 用的免费软体集收录了。1992 年 1.22 版本的 vim 被移植到了 UNIX 和 MS-DOS上。从那个时候开始,vim 的全名就变成 Vi IMproved(改良)了,往后vim不断完善、增加新功能、新特性,才有了今天强大的vim。vim可以当作vi的升级版本,所以之后就直接介绍vim了。
至于我们为什么要学习vim,最主要的原因是:所有的Unix Like系统都会内建vim文本编辑器,其他的文本编辑器则不一定会存在,且一些软件的编辑接口会主动调用vim。
功能特点
1.vim具有程序编辑的能力,可以以字体颜色辨别语法的正确性,方便程序设计,因为设计简单,所以编辑的速度非常快
2.vim可以用多种颜色的方式来显示一些特殊的信息
3.vim会依据文件扩展名或者是文件内的开头信息,判断该文件的内容而自动地执行该程序的语法判断式,再以颜色来显示程序代码与一般信息
4.vim里面加入了很多额外的功能,例如支持正则表达式的搜索、多文件编辑、块复制等等,这对于我们再Linux进行一些配置文件的修改十分友好
模式介绍
基本上vim可以分为三种模式:普通模式、插入模式、命令行模式。
普通模式:用vim打开一个文件,刚进去时就是普通模式(默认的模式)。在这个模式,可以使用上下左右按键移动光标,可以对文件内容进行增删、复制、粘贴等处理。
插入模式:在普通模式下不能编辑文本的内容,只有按下I O A R等字母才会进入插入模式。此时屏幕下方会出现INSERT或REPLACE的字样,这时才能开始编辑。
命令行模式:输入 : / ?三个中的任何一个,就可以将光标移动到最底下那一行,在这个模式中,可以提供查找、读取、存盘、替换、离开等动作。
常用指令
按F1打开帮助手册
模式切换:
ESC:切换到普通模式
i:普通模式下可以切换到插入模式
:wq:普通模式下输入:wq可以保存并强制退出
:e!:重新装载原来的文件
普通模式下:
增删:
dd:删除一行
#dd:删除#行
yy:复制一行
#yy:复制#行
p:粘贴
查找:
/:在之后可以输入要查找的字符,n查找下一个,3n移动到第三个,特殊字符要加\
*:选中变量按*再按n可查找下一个
set hlsearch:基于*可高亮查找,nohlsearch可取消
光标移动:
#G:移动到第#行
zz:光标回到中间
“:最后编辑的位置
Ctrl + b:后翻一页
Ctrl + f:前翻一页
h j k l:左下上右
编辑多个文件:
vi a.c b.c:可一下打开多个文件
write:可保存当前文件
*next:跳转到下*个文件
*previous:跳转到上*个文件
set autowrite:跳转时自动保存
分裂窗口:
s:可以新建窗口,且光标位于上(垂直分割)
close:关闭窗口
Ctrl + w:窗口间跳转
Ctrl + w +/-:增大或缩小窗口
splite a.c:新建窗口编辑a.c文件,编辑新文件用new
vsplite:垂直分割新窗口,操作同上
qall:全部退出,没有保存的不会退出
其他:
u:撤回,撤销次数受限后可以Ctrl + R
set nu:显示行号
vim -r:用于奔溃列出看交换文件,加文件名可直接恢复一个文件
更多推荐