Vim程序编辑器

命令:vim 文档名 ,如果文件存在则打开文件,不存在则新建文件

刚用vim打开一个文件的时候,是命令模式,又叫作一般模式,一般是不能编辑文件的
在命令模式按i I a A o O,都会进入插入模式,在插入模式下按Esc则进入命令模式
i是从当前光标进入插入模式
I是从当前光标的本行进入插入模式
a当前光标的下一个字符进入插入模式
A从本行的结束进入插入模式
o在本行的下一行插入空白行并进入插入模式,光标移到该空白行的首段
O在本行的上一行插入空白行并进入插入模式,光标移到该空白行的首段

在命令模式下按u作用是撤销当前操作,Ctrl+r是前进


一.保存操作:
在插入模式下进行了一些操作,如果想保存这些操作,就要进入末行模式或者尾行模式
进入末行模式的方法是先退回到命令模式,即按Esc,再按 :进入末行模式
末行模式下可以保存.退出.替换.定位.改变参数等操作
在末行模式的:按w后回车是保存,按q回车退出vim
如果在插入模式下已经进行了一些操作,且没有保存,想直接退出,进入末行模式:q!可以不进行保存直接退出。
如果想保存并退出可以进入末行模式:wq
进入末行模式:set nu回车后可以发现文档的每一行增加了一个行号,此时增加的行号只是在内存中增加的,并没有写入到硬盘
如果不想显示这些行号,进入末行模式:set nonu回车即可
二.替换操作:
进入末行模式:s/rhce/RHCE/g 回车,则是把光标所在行的所有rhce换成RHCE,如果不加g,末行模式:s/rhce/RHCE/则只替换光标所在行第一个rhce
如果想指定行进行替换,末行模式:3,15s/rhce/RHCE/g,可以将该文档中第3至15行中的所有rhce换成RHCE
如果想从光标所在行开始进行替换,末行模式:.,15s/rhce/RHCE/g,可以将该文档中光标所在行至15行中的所有rhce换成RHCE,这里的.的意思就是代表了光标所在行
如果想从光标所在行开始至倒数第二行进行替换,末行模式:.,$-1s/rhce/RHCE/g,可以将该文档中光标所在行至15行中的所有rhce换成RHCE,这里的$的意思就是代表了最后一行,$-1自然就是倒数第二行的意思
如果想对整个文档进行替换,末行模式:1,$s/rhce/RHCE/g或者末行模式:%s/rhce/RHCE/g
如果想删除整个文档的某个关键字,末行模式:1,$s/rhce//g即可
在Linux的脚本中凡是以#开始的内容都是被注释掉了
如果想注释一个文档中的某些行,末行模式:1,20s/^/#/g,这里的^表示一个行的最开始,这样就是把光标所在行至最后一行的最前面加上#,即注释掉了
如果想取消某些行的注释,末行模式:1,20s/^#//g,这里在#前面加上^的原因是防止不是开头位置出现了#而造成了误删造作,指明了所删除的#都是在每一行的首端
三.定位
如果想定位到某一特定的行,末行模式:5回车,这里就是将光标定位到第五行的意思


在命令模式下按/也可以进入末行模式,可以进行查找操作,和man命令下的/差不多
进入查找后按n查找下一个关键字,N查找上一个关键字
如果查找关键字后关键字高亮显示,可以查找一个比较长的随意输入字符串,这样保证在文档中不会出现,这时候高亮就消失了

在命令模式下的一些快捷操作
定位:nG这里的n是行号数字,比如5G,不加任何数字直接G定位到最后一行,定位第一行1G,或者gg
复制行:yy复制光标所在行,nyy(n是数字),如3yy表示从光标所在行开始往下复制3行(包含当前行)
粘贴:p从光标所在行的下一行开始粘贴复制的内容
删除:dd剪切当前行,ndd(n是数字),如4dd表示从光标所在行开始往下删除3行(包含当前行),实际上这里的删除进行的是剪切
单个字符替换:光标移动到想替换的字符上,r然后输入想替换的内容(输入的内容只能是单个字符)就可以了
单个字符删除:x删除光标所在的字符,X相当于Backspace。
块选择:想复制某一块内容,先将光标移到想操作的地方,然后Ctrl+v,进入到visual block模式,移动(可向四个方向)光标,选择好块后,按y进行复制,最后P粘贴就完成操作了。

vim多文件操作
命令vim file1 file2 file3,可同时打开这三个文件,想查看自己打开了哪些文件,可以在末行模式:files回车查看,切换文件,可以末行模式:n/N/first/last等,分别是下一个文件/上一个文件/第一个文件/最后一个文件

vim分屏
如果一个文件用vim打开后发现内容很多,一页屏幕显示不下,可以在末行模式:sp回车,达到分屏的效果。光标切换到下一个屏,Ctrl+w+j,光标切换到上一个屏,Ctrl+w+k。

vim环境设置
如果希望每次vim打开文件都可以显示行号,工作目录切换到用户加目录,cd ~用户名,然后vim .vimrc,在里面加入内容set nu

vim使用注意事项
中文编码问题,在/etc/sysconfig/i18n里面的内容是设置系统的编码
DOS和Linux的断行字符,在Linux下创建的文档文件,在Windows下可能会不显示断行,可以使用命令:unix2dos -k 文档名,选项k是不改变文档的修改时间,unix2dos -k 文档名 新文档名,这个命令是将该文件复制一份并将复制后的文件转为Windows下可识别断行的文件。如果是Windows下的文件拷贝到Linux下,可用命令:dos2unix 文档名

posted @ 2016-03-01 21:30  YiYezc  阅读(172)  评论(0编辑  收藏  举报