1、vi 文本编辑器使用#末行模式下输入-文件操作()1.当编辑一个文件完成后可以打开新的文件进行编辑:e 文件名3.如果当前内容不需要保存:e! 文件名4.vi 编辑器在对当前文件进行编辑时可以读取其他文件的内容到当前光标处:r 文件名-复制操作:m,ny 例如:2,5y 复制第 2 行到第 5 行的内容到缓存区-查找操作1.自上而下的查找操作/word 输入 n,查找下一个匹配字符输入 N,反向查找2.自下而上的查找?word输入 n,查找下一个匹配字符输入 N,反向查找-替换操作1.普通替换:s/被替换的字符/要替换成的字符注:只在当前行进行匹配和替换,而其只替换第一个字符2.行内全部替换:
2、s/被替换的字符/要替换成的字符/g3.行区域内全部替换例如 :2,5s/被替换的字符/要替换成的字符/g4.整个文件内的替换操作:%s/被替换的字符/要替换成的字符/g-使用替换确认功能:s/old/new/c:s/old/new/gc:#,#s/old/new/gc:%s/old/new/gc替换后的确认选项y 替换当前已经定位的匹配字符串n 不替换当前已经定位的匹配字符串a 替换指定范围内的所有匹配字符串q 退出确认界面,并取消当前命令所有的替换操作-多文件的切换1.显示多文件的信息:args2.前后切换:next:prev3.不保存切换:next!:prev!4.定位首文件和尾文件:f
3、irst:last#命令模式下输入-光标移动操作h 向左移动光标l 向右移动光标k 向上移动光标j 向下移动光标 光标快速跳转到本行行首字符 $ 光标快速跳转到本行行尾字符w 光标快速跳转到当前光标所在位置的后一个单词的首字母#w 例如 3w,光标向后跳转 3 个单词,并定位于单词的首字母b 光标快速跳转到当前光标所在位置的前一个单词的首字母#b 例如 3b,光标向前跳转 3 个单词,并定位于单词的首字母e 光标快速跳转到当前光标所在位置的后一个单词的尾字母#e 例如 3e,光标向后跳转 3 个单词,并定位于单词的尾字母1G 跳转到文件的首行G 跳转到文件的末尾行#G 跳转到文件中的第#行-翻
4、页移动ctrl+F 向前翻整页ctrl+B 向后翻整页ctrl+U 向前翻半页ctrl+D 向后翻半页-进入输入模式i 在当前光标处进入插入状态s 删除当前光标所在的字符,进入插入状态a 在当前光标后进入插入状态A 将光标移到到当前行的行末,并进入插入状态o 在当前行的下面插入新行,光标移到的新行的行首,进入插入状态O 在当前行的上面插入新行,光标移到的新行的行首,进入插入状态cw 删除当前光标所在单词尾部的字符,并进入插入状态c$ 删除当前光标到行尾的字符,并进入插入状态c 删除当前光标之前(不包括光标上的字符)到行尾的字符,并进入插入状态-删除操作x 删除光标处的单个字符#x 例如 3x,
5、删除光标处向后的 3 个字符dd 删除光标所在行#dd 例如 3dd,从当前行开始向下删除两行dw 删除当前光标到单词尾(包括空格)的所有字符#dw 例如 3dw,删除当前光标向右的 3 个单词de 删除当前光标到单词尾(不包括单词尾的空格)的所有字符#de 例如 3de,删除当前光标向右的 3 个单词,并保留被删除的最后一个单词右面的空格符d$ 删除当前字符到行尾的所有字符d 删除当前字符到行首的所有字符J 删除当前光标所在行行尾的换行符,相当于合并当前行和下一行的内容#J 例如 3J,通过删除行尾的换行符来合并从当前行开始连续 5行的内容到同一行-撤销操作u 取消最近一次的操作U 取消当前行进行的所有操作ctrl+R 对使用 u 命令撤销的操作进行恢复-复制操作yy 复制当前行的整行 #yyyw 复制当前光标到单词尾 #ywy$ 复制当前光标到行尾y 复制当前光标到行首-粘贴操作p 粘贴到光标所在地位置(不覆盖原有内容)-多文件的切换1.快速切换 ctrl+#输入模式下输入