免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 903 | 回复: 0
打印 上一主题 下一主题

[ZT]VI 命令简表 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-05-06 11:42 |只看该作者 |倒序浏览
VI是Unix中标准的文本编辑器之一。VI中命令区分大小写,工作模式分为插入与命令模式,命令模式包括基本命令和ex编辑命令,ex编辑命令一般出现在屏幕下方,由:引出。VI命令格式: [命令] (文本) [命令] (数字)(文本) (数字)[命令] (文本)基本命令:i a c d y p u x w q o r svi [filename] 打开一个指定文件基本文本处理i 在当前光标前插入文本 I 在行首插入文本 a 在当前光标后插入文本 A 在行尾插入文本 O 在当前行前插入一行 o 在当前行后插入一行x 删除当前光标字符 xw 删除单词 x$ 删除到行尾 x0 删除到行首 5x 删除5个字符0 光标移动到当前行第一个字符 $ 光标移动到当前行最后一个字符 h 光标左移一个空格 l 光标右移一个空格 j 光标下移一行 k 光标上移一行 w|W 光标前移一个单词 b|B 光标后移一个单词 p 粘贴 移动或复制文本可以通过先删除(dd),然后粘贴(p)的方法实现,如dd删除一行,p粘贴改行,x删除字符,p粘贴字符。c | C 修改文本 cw 修改单词,并插入 c$ 修改到行尾 c0 修改到行首 cc 替换当前行d |D 删除字符 dw 删除单词 d$ 删除到行尾 dd 删除当前行r|R 替换当前文本 S 替换当前行 s 替换字符 ~ 字母大小写转换y | Y 复制文本 yw 复制单词 y$ 复制到行尾 y0 复制到行首 yy 复制一行 4yy 复制4行. 重复操作 u 撤销上一次操作 U 撤销改行任何操作 J 合并当前行与下一行 参数可以带数字使用,如4h左移4个空格, 50i* 插入50个*/ | n 向前搜索 ? | N 向后搜索 ^F 向前滚一屏 ^B 向后滚一屏 ^D 向前滚半屏 ^U 向后滚半屏 ^L 刷新屏幕编辑命令扩展vi + [file] 打开文件到最后一行 vi -r [file] 系统崩溃后恢复文件 vi +n [file] 打开文件到第n行 vi +/pattern [file] 打开文件到模式首次出现的地方 vi -R 以只读模式打开文件 //1-9 前9次删除操作 vi编辑器中可以CTRL+Z挂起vi,返回Unix shell状态,进行其他工作,unix shell中的fg 命令可以使当前工作返回第一个挂起的vi窗口ex行编辑器vi中,在ex行命令可以用!调用unix系统命令,如!ls, 列出当前目录的所有文件,!df 察看当前硬盘使用情况。 ex命令由行号和命令组成,以回车键结束。 :1 到第一行 :1,3 打印1~3行 :$ 到最后一行 :shift + G 到最后一行 :p 恢复缓冲区的内容(如:1p :3p) :s/screen/line 替换当前行第一个screen 为 line :1,3 s/screen/l 替换1~3行的screen为l Q 进入ex编辑命令模式 vi 返回vi编辑器 :delete|d 删除 :copy |co|t copy 并粘贴 copy的内容 :move [行号]|m move到指定行 :23,29co100 复制23~29行并把他们粘贴到100行的后面 :set nu 显示行号 := 显示总行号 :.= 先是当前行行号行地址符号 . 当前行 $ 最后以行 % 文件每一行(1,$) + 向后 - 向前 :.+20# 先是从当前行向后20行的行号:g 全局搜索 :g/pattern 搜索符合模式的行 :g!/patterhn 搜索不符合模式的行:w 保存但不退出. :w [newfile] 将当前修改保存到新文件. :wq || ZZ 保存退出. :e 不保存当前修改,回到初始版本文件. :q 退出不保存.  写文件并推出编辑器 :1,10w>> [newfile] 使用>>重定向添加符 和w 把内容追加到文件 :read [file] 读取系统中现有文件数据 :r [file] :0r [file] 将要读取的文件放到当前文件的开始 :12r [file] 将要读取的文件放到当前文件的12行后vi可以打开多个文件,通过ex命令在文件间切换,如vi temp test, 通过:vi temp, :vi test切换到不同文件,:n命令可以调用另一个文件:g | :s 全局替换 /g 在当前行全局替换 :s/old/new/g 当前行全局替换old字符为new :1,$s/old/new/g 全局替换 :1,50s/old/new/g 替换1~50行 :gc 确认替换,y 替换 n 重复搜索 %s/editer/editor/g == :g/editer/s//editor/g grep/sed/awk 正则表达 . 匹配单字符 * 匹配其前面的单个字符的0个或多个实例:bugs* == bug | bugs *. 匹配任何数量的任何字符 ^ 用于正则表达式的开始 $ \ 将后面的字符视为普通字符:\* == * [] 匹配所包含字符的任何一个:p[aeiout]r == par | per.... :g/^$/d 删除所有空行 \U 替换字符为大写 & 重复替换Advanced vi command:set option 设置选项 :set nooption 关闭选项设置 :set all 显示所有选项 :set ic 指定模式搜索忽略大小写 :set noic 不忽略 .exrc文件 控制vi环境的exrc文件位于主目录下(首次登陆时所在的目录),可以用vi编辑器修改.exrc文件 :so sourcefile 可以调用sourcefile中的选项设置编程选项:set autoindent 自动缩进 CTRL+D 取消一个缩进级别(插入模式) CRTL+T 实现另一个缩进级别(插入模式) >> 行右移(缺省8空格--实际上将制表符插入到文本中) 5>> 移动该段落中前5行 :set shiftwidth=4 该选项可以更改缺省缩进的空格数目 :set tabstop=4 设置tab制表符号的字符数目 :set list 设置制表符显示为^I,行尾显示为$,通常屏幕中制表符和空白均显示为空白。 :set showmatch 设置搜索技巧 tabstop shiftwidth number list autowrite 设置后,调用:n(下一个)命令移动到下一个文件编辑时,:! 运行shell命令之前将自动写出已修改的缓冲区内容 :![command] 执行unix命令 :!date 显示时间 :!sort 排序文件 :ab 单词缩写 :unab 单词缩写失效 :map 列出当前映射的所有字符 :map x sequence 映射x为sequence编辑命令 :unmap x 取消映射ex特殊键: ^ CTRL+V ^M 回车 ^[ ESC ^H Backspace ^I tab "... 双引号标记ex注释行,VIM -- Vi Improved
               
               
               
               

本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u2/66321/showart_1919542.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP