@H_502_1@vi编辑器:@H_502_1@全屏的文本编辑器
@H_502_1@vi:Visual Interface,可视化界面
@H_502_1@
@H_502_1@vim:vi iMproved
@H_502_1@相对vi有更多新特性:
@H_502_1@ 2.更多的命令
@H_502_1@ 3.历史记录
@H_502_1@
@H_502_1@模式:
@H_502_1@ 编辑模式(命令模式),默认工作模式
@H_502_1@ 插入模式(输入模式),文本信息的自由编辑,在左下角有"Insert"标记;
@H_502_1@ ex模式(末行模式),对于编辑器本身某些属性和功能的设定,也可以进行文本编辑操作
@H_502_1@ 其他辅助模式:
@H_502_1@ 替换模式:输入的信息直接替换光标所在位置的内容
@H_502_1@ 可视化模式
@H_502_1@
@H_502_1@Vim编辑器基本操作
@H_502_1@
@H_502_1@一.打开vi/vim操作界面:
@H_502_1@1.vi/vim命令
@H_502_1@2.vim file
@H_502_1@ 2)file不存在,就直接以新建文件的方式打开
@H_502_1@3.vim +# file:
@H_502_1@ 在打开指定文件时,将光标直接定位在文件的第#行的行首。
@H_502_1@4.vim + file:
@H_502_1@ 在打开指定文件时,直接将光标定位在最后一行行首
@H_502_1@5.vim +/PATTERN/:
@H_502_1@ 打开指定文件时,将光标定位在首次被PATTERN匹配到的行的行首
@H_502_1@ex模式中的操作:
@H_502_1@ :q,直接关闭vim编辑器,不保存修改内容
@H_502_1@ :Q,直接关闭vim编辑器,强制退出但不保存修改的内容
@H_502_1@ :wq!,对于无权更改的文件强制保存,并且在强制保存之后强制关闭vim编辑器
@H_502_1@编辑模式中的操作:
@H_502_1@ ZQ,不保存
@H_502_1@三.在vim的编辑方式中,光标的移动方式:
@H_502_1@ 编辑方式中的光标移动方式:
@H_502_1@ 1.逐字符移动:
@H_502_1@ 1)左右箭头
@H_502_1@ 2)h:向左移动 l:向右移动
@H_502_1@ 2.逐字移动:
@H_502_1@ w:移动光标至下一个字的字首
@H_502_1@ e:当前字或下一个字的字尾
@H_502_1@ b:移动至前一个字的字首
@H_502_1@ 0:绝对行首
@H_502_1@ ^:相对行首
@H_502_1@ $:绝对行尾
@H_502_1@ 1)上下箭头
@H_502_1@ 2)j:向下移动 k:向上移动
@H_502_1@ 3)#G,直接将光标移动至#行首
@H_502_1@ 4)G,直接将光标移动至文档的最后一行
@H_502_1@ 5)gg,回到第一行
@H_502_1@ ex模式中的光标移动:
@H_502_1@ :#,直接将光标移动至行号#的行首
@H_502_1@ :l,直接将光标移动至文档第一行行首
@H_502_1@ :$,直接将光标移动至文档的最后一行行首
@H_502_1@ PageDown或PageUP可以实现翻页:
@H_502_1@ ^f:向下翻一页
@H_502_1@ ^b:向上翻一页
@H_502_1@ ^d:向下翻半页
@H_502_1@ ^u:向上翻半页
@H_502_1@ 2.删除光标移动过程中所经过的所有内容:
@H_502_1@ d:@H_502_1@dh,dl,dj,dk,dArrow,dw,de,db,dG,dgg
@H_502_1@ ex模式中的操作:
@H_502_1@ :m,nd,删除从第m行开始到第n行结束中间所有行
@H_502_1@ :m,+nd,删除从第m行开始,以及后面n行内容
@H_502_1@ :.,+nd,删除从当前行极其后面n行的内容
@H_502_1@ 注意:在vim的操作中,所有的删除操作,同时意味着剪切;
@H_502_1@六.复制
@H_502_1@ 编辑模式中的操作:
@H_502_1@yh,yl,yj,yk,yArrow,yw,ye,yb,yG,ygg,y0,y$,y^
@H_502_1@ yy:复制当前光标所在行
@H_502_1@ ex模式中的复制:
@H_502_1@ :y,复制光标所在行
@H_502_1@ :#y,复制第#行
@H_502_1@ :m,ny,复制从第m行开始到第n行结束中间所有行
@H_502_1@ :m,+ny,复制从第m行开始,以及后面n行内容
@H_502_1@ :.,+ny,复制从当前行极其后面n行的内容
@H_502_1@ :.,$y,复制从当前行到最后一行
@H_502_1@七.粘贴
@H_502_1@编辑模式中的操作:
@H_502_1@p(Lower):如果是行内的复制和剪切操作,在光标右侧完成粘贴,如果是多行的复制或剪切操作,在光标的下方完成粘贴
@H_502_1@ P(Lower):如果是行内的复制和剪切操作,在光标左侧完成粘贴,如果是多行的复制或剪切操作,在光标的上方完成粘贴
@H_502_1@ex模式中的操作
@H_502_1@:p(不常用)
@H_502_1@八.模式切换
@H_502_1@编辑模式(命令模式)被称为vi编辑器的基础工作模式:所有其他模式之间进行切换的中转站
@H_502_1@1.编辑模式→ex模式:
@H_502_1@ ":",表示进入ex模式并完成命令的执行
@H_502_1@ "/"(自上而下)或"?"(自下而上),开启ex模式中的匹配查找功能
@H_502_1@ n:下一个 N:上一个
@H_502_1@ 2.ex模式→命令模式:
@H_502_1@ 双击ESC
@H_502_1@ Enter键
@H_502_1@ Backspace键
@H_502_1@ 3.编辑模式→输入模式(插入模式)
@H_502_1@ i,I,a,A,o,O,s,S,C,cc
@H_502_1@ i,在光标所在位置的左侧开始输入
@H_502_1@ I,在行首开始输入
@H_502_1@ a,在光标所在位置的右侧开始输入
@H_502_1@ A,在行尾开始输入
@H_502_1@ o,在当前光标所在行的下方插入一个新行
@H_502_1@ O,在当前光标所在行的上方插入一个新行
@H_502_1@ s,将当前光标所在位置的字符删除,在光标左侧开始输入
@H_502_1@ S,将当前光标所在行删除,在行首开始输入
@H_502_1@ C,删除光标所在位置直到行尾,并且在行尾开始输入
@H_502_1@ cc,相当于S命令
@H_502_1@ 4.输入模式→编辑模式
@H_502_1@ ESC
@H_502_1@ 5.编辑模式→替换模式
@H_502_1@ R
@H_502_1@ 6.替换模式→编辑模式
@H_502_1@ ESC
@H_502_1@ 7.编辑模式→可视化模式
@H_502_1@ v,以字符为单位进行矩形选取
@H_502_1@ V,以行为单位进行举行选取
@H_502_1@ 在选取完成之后,可以使用d命令进行删除,也可以使用y命令进行复制
@H_502_1@九.替换命令
@H_502_1@r:不进入输入模式而替换光标所在位置的字符
@H_502_1@十.撤销
@H_502_1@U:撤销当前行内的操作
@H_502_1@u:撤销此前的一次编辑操作,只要没保存过都可以撤销
@H_502_1@^r:撤销最后一次被撤销的操作
@H_502_1@十一.重复之前的一次编辑操作
@H_502_1@.
@H_502_1@十二.多文档编辑
@H_502_1@1.vim file1 file2 file3...
@H_502_1@:next 查看或编辑后一个文档
@H_502_1@ :prev 前一个
@H_502_1@ :first 第一个
@H_502_1@ :last 最后一个
@H_502_1@ 2.vim -o|-O file1 file2 file3...
@H_502_1@ -o 水平打开所有窗口
@H_502_1@ -O 垂直打开所有窗口
@H_502_1@ 通过^w 松手 Arrow切换窗口
@H_502_1@十三.ex模式中的常用命令
@H_502_1@ :set number(:set nu)
@H_502_1@ :set nonumber(:set nonu)
@H_502_1@ :set ignorecase(:set ic)
@H_502_1@ :set noignorecase(:set noic)
@H_502_1@ :set autoindent(:set ai)
@H_502_1@ :set noautoindent("set noai")
@H_502_1@ :set hlsearch
@H_502_1@ :nohl
@H_502_1@ 6.另存为
@H_502_1@ :w /path/to/somewhere
@H_502_1@ :m,nw /
@H_502_1@ :r /path/from/somewhere
@H_502_1@ :!COMMAND