vi编辑器:全屏的文本编辑器
vi:Visual Interface,可视化界面;
vim相对于vi有更多的新特性:
1.语法着色显示;
2.更多的命令;
3.历史记录;shell
vi:模式化文本编辑器 模式: 编辑模式(命令模式),默认工做模式; 插入模式(输入模式),文本信息的自由编辑;在左下角有"Insert"标记; ex模式(末行模式),对于编辑器自己某些属性和功能的设定;也能够进行文本的编辑操做; 其余辅助模式: 替换模式:输入的信息直接替换光标所在位置的内容; 可视化模式: vi/vim的操做: 一.打开vi/vim操做界面: 1.vi/vim命令; 2.vim file: 1) file存在,就直接使用vim编辑器打开此文件,默认是将光标放置于该文件的起始位置,即:第一行的第一个字符; 2) file不存在,就直接以新建文件的方式打开;若执行保存命令,则文件会被写入磁盘;若不保存,则文件会消失; 3.vim +# file: 在打开指定文件时,将光标直接定位在文件的第#行的行首;若是给定的数字比文件的行数要大,则光标直接停留在最后一行的行首; 4.vim + file: 在打开指定文件时,直接将光标定位在文件的最后一行的行首; 5.vim +/PATTERN/: 在打开指定文件时,将光标定位在首次被PATTERN匹配到的行的行首; 二.关闭vi/vim的操做界面: ex模式中的操做: :q 直接关闭vim编辑器,不保存修改内容; :q! 直接关闭vim编辑器,强制退出但不保存修改的内容; :wq 保存已修改的内容,并关闭vim编辑器; :wq! 对于无权更改的文件强制保存,而且在强制保存以后强制关闭vim编辑器; 编辑模式中的操做: ZZ:保存并关闭vim编辑器; ZQ:不保存已经修改的内容,直接关闭vim编辑器; 三.在vim的编辑模式中,光标的移动方式: 编辑模式中的光标移动操做: 1.逐字符移动: 1) Left Arrow 或者 Right Arrow; 2) h:光标向左移动;l:光标向右移动; 2.逐字移动: w:移动光标至下一个字的字首; e:移动光标至当前字或下一字的字尾; b:移动光标至前一字的字首; 3.行内光标跳转: 0:绝对行首; ^:相对行首; $:绝对行尾; 4.行间跳转: 1) Up Arrow 或者 Down Arrow; 2) j:向下移动一行;k:向上移动一行; 3) #G:直接将光标移动至第#行行首; 4) G:直接将光标移动至文档的最后一行; 5) gg:直接将光标移动至文档的第一行; ex模式中的光标移动: :# :直接将光标移动至指定行号"#"的行首; :1 :直接将光标移动至文档的第一行行首; :$ :直接将光标移动至文档的最后一行行首; 四.翻页: PageDown 或 PageUp能够实现翻页; ^+f:向下翻一页,向前翻一页;至关于Pgdn; ^+b:向上翻一页,向后翻一页;至关于PgUp; ^+d:向下翻半页; ^+u:向上翻半页; 五.删除字符: 编辑模式中的操做: 1.逐字符删除: x:删除光标所在位置的字符; X:删除光标所在位置的左侧的一个字符; 2.删除光标移动过程当中通过的全部内容: d:删除光标移动过程当中通过的全部内容: dh, dl, dj, dk, dArrow, dw, de, db, dG, dgg, d0, d$, d^ dd:删除当前光标所在行; ex模式中的操做: :d :删除光标所在行;至关于:.d ;其中"."指的是当前行; :#d :删除第#行; :m,nd :删除从第m行开始,到第n行结束中间的全部行; :m,+nd :删除从第m行开始,及其后面n行的内容; :.,+nd :删除从当前光标所在行开始,及其后面n行的内容; :.,$d :删除从当前光标所在行开始,到文档末尾的全部内容; 注意:在vim的操做中,全部的删除操做,同时意味着剪切; 六.复制命令 编辑模式中的操做: y:复制光标移动过程当中通过的全部内容: yh, yl, yj, yk, yArrow, yw, ye, yb, yG, ygg, y0, y$, y^ yy:复制当前光标所在行; ex模式中的复制: :y :复制光标所在行;至关于:.d ;其中"."指的是当前行; :#y :复制第#行; :m,ny :复制从第m行开始,到第n行结束中间的全部行; :m,+ny :复制从第m行开始,及其后面n行的内容; :.,+ny :复制从当前光标所在行开始,及其后面n行的内容; :.,$y :复制从当前光标所在行开始,到文档末尾的全部内容; 七.粘贴命令: 编辑模式中的操做: p(Lower):若是是行内的复制或剪切操做,在光标右侧完成粘贴;若是是多行的复制或剪切操做,在光标的下方完成粘贴; P(Upper):若是是行内的复制或剪切操做,在光标左侧完成粘贴;若是是多行的复制或剪切操做,在光标的上方完成粘贴; ex模式的操做: :p 八.模式切换: 编辑模式(命令模式)被称为vi编辑器的基础工做模式;全部其余模式之间进行切换的中转站 1.编辑模式-->ex模式: ":" :表示进入ex模式并完成命令的执行; "/"或"?" :开启ex模式中的匹配查找功能; /默认是自上而下的查找顺序; ?默认是自下而上的查找顺序; n和N命令在各个匹配的关键字之间跳转; n:顺序查找 N:倒序查找 2.ex模式-->编辑模式: 双击ESC键; Enter键 Backspace键 3.编辑模式-->输入模式(插入模式): i, I, a, A, o, O, s, S, C, cc i:在光标所在位置的左侧开始输入; I:在行首开始输入; a:在光标所在位置的右侧开始输入; A:在行尾开始输入; o:在当前光标所在行的下方插入一个新行; O:在当前光标所在行的上方插入一个新行; s:删除光标所在位置的字符,在光标左侧开始输入; S:删除光标所在行,在行首开始输入; C:删除光标所在位置直到行尾,而且在行尾开始输入; cc:至关于S命令; 4.输入模式-->编辑模式: ESC键 5.编辑模式-->替换模式: R:进入替换模式 6.替换模式-->编辑模式: ESC键 7.编辑模式-->可视化模式: v:按照字符为单位进行矩形选取; V:按照行为单位进行矩形选取; 注意: 1) 在选取完成以后,能够使用d命令进行删除,也能够使用y命令进行复制; 2) 只要选取完成,即马上返回编辑模式; 注意:全部的其余模式都只能和编辑模式相互切换;若是两种非编辑模式之间试图切换,则必须通过编辑模式; 九.替换命令: r:不进入输入模式而替换光标所在位置的字符; 十.撤销命令: U:撤销当前行内的操做; u:撤销此前的一次编辑操做; ^+r:撤销最后一次被撤销的操做; 十一.重复以前的一次编辑操做: . 十二.多文档编辑: 1.vim file1 file2 file3 ... :next 查看或编辑后一个文档 :prev 查看或编辑前一个文档 :first 查看或编辑第一个文档 :last 查看或编辑最后一个文档 2.vim -o | -O file1 file2 file3 ... -o:水平打开多个窗口 ^+w, up arrow | down arrow:在多个窗口间切换; -O:垂直打开多个窗口 ^+w, left arrow | right arrow:在多个窗口间切换; 十三.ex模式中的经常使用命令: 1.显示和取消行编号: :set number(简写为:set nu) :set nonumber(简写为:set nonu) 2.开启或关闭字符大小写的敏感度: :set ignorecase(简写为:set ic) :set noignorecase(简写为:set noic) 3.开启或关闭自动缩进功能: :set autoindent(简写为:set ai) :set noautoindent(简写为:set noai) 4.开启或关闭语法着色: :syntax on :syntax off 5.开启或关闭查找高亮显示: :set hlsearch :set nohlsearch(简写为:nohl) 6.另存为: :w /path/to/somewhere :m,nw /path/to/somewhere 7.从其余文件直接读取内容并添加到当前文件中: :r /path/from/somefile 8.与shell交互,调用shell命令 :!COMMAND 十四.vimtutor 能够查看以上十三种命令