VI编辑器使用 模式命令模式文本模式 编辑创建新文件,修改已有文件光标命令模式→文本模式文本模式→命令模式 删除文本搜索文本修改文本保存文件并退出编辑保存退出Vi 编辑多个文件重排文本缓冲区 定制vi编辑器set vi中运行shell 模式 命令模式 启动后默认模式 文本模式->命令模式:Esc键 输入:冒号后输入 文本模式 命令模式->文本模式:i I a A o O键; 编辑 创建新文件,修改已有文件 vi file#若file存在,则打开,若不存在,则创建 光标 h(←)j(↓)k(↑)l(→) 0光标移动到当前行行首 $光标移到当前行行尾 w光标向右移动一个字 b光标向左移动一个字 e将光标拖到字尾 [enter]光标移动到下一行行首 [backspace]光标左移 [spacebar]光标右移 [ctrl] d向下翻半页 [ctrl] u向上翻半页 [ctrl] f向下翻一页 [ctrl] b向上翻一页 n+G光标移动到n行 G光标移动到文件尾 [ctrl] g显示行信息 命令模式→文本模式 i文本出现在光标左侧 a文本出现在光标右侧 I文本出现在光标所在行的开头 A文本出现在光标所在行的结尾 o在光标所在行的下一行添加新行,文本出现在新行开头 O在光标所在行的上一行添加新行,文本出现在新行开头 文本模式→命令模式 Esc 删除文本 x#删除光标当前字符 2x#删除光标向右两个字符 dd#删除光标当前行 2dd#删除光标向下两行 dw#删除光标所在的单词 u#撤销最近修改 U#撤销对当前行所做的所有修改 r#替换光标所在的字符 r后输入字符 R#替换字符后切换到文本模式 .#重复上一次修改 搜索文本 /string#从光标所在位置向后查找string ?string#从光标所在位置向前查找string n#下一个匹配,和命令搜索方向相同 N#下一个匹配,和命令搜索方向相反 修改文本 保存文件并退出编辑 保存 w w file#保存file 退出Vi q#退出 q!#强制退出 wq#保存后退出 编辑多个文件 #命令模式下 r file#将file中的内容插入到当前光标下一行 a,b w file#将当前文件a-b行内容保存到file中 重排文本 d#删除指定位置文本并保存到缓冲区 y#复制指定位置文本到缓冲区 p#将缓冲区内容复制到当前光标之下/后 P#将缓冲区内容复制到当前光标之上/前 c#删除文本并使vi进入文本编辑模式 #c,d,y可与$,0,w,b,e配合使用如:d$删除当前光标到行末尾 #d/y/p/P/c后均可跟←→↑↓指定文本 #快速双击指定当前行 缓冲区 用户创建新文件,vi打开一个临时工作区 用户打开的文件存在,vi将源文件复制到临时工作区 对文件的修改只作用于缓冲区或者工作临时区 临时区被称为缓冲区或者工作缓冲区 会话过程中,vi使用不同的缓冲区来管理文件 定制vi编辑器 set set #bool set X#例如set nu显示行号 set noX #number set X=number #string set X=string ab ab string1 string2#将string2缩写为string1 #缩写字符串使用:缩写字符串+空格 unab string1#取消缩写 map#显示所有宏定义 map string1 string2#将命令string2宏定义为string1 #如 map q 5dd#q表示删除5行的命令 unmap string1#X取消string1的宏定义 以上设置都是临时的,可在.vimrc配置文件中设置使下次不再重复设置 vi中运行shell ! command #如 !date r ! command#将执行结果加载到文本中 j#连接两行 [行范围] s/内替换单词/新单词/[g][c] 2,$ s/aa/bb/g 3,0s/aa/bb/gc #s:命令 #g:全行替换 #c:确认后替换