Chinaunix首页 | 论坛 | 博客
  • 博客访问: 73406
  • 博文数量: 22
  • 博客积分: 511
  • 博客等级: 中士
  • 技术积分: 200
  • 用 户 组: 普通用户
  • 注册时间: 2011-02-27 16:19
文章分类

全部博文(22)

文章存档

2012年(1)

2011年(21)

我的朋友

分类: LINUX

2011-02-28 00:24:43

多文件编辑
   如果当前行还没有保存(并且 autowrite 未设置),则不能使用:e、:n和:rew命令。命令后面的!使得安全特性无效。
 命令功能 
 :e foo
 停止对当前文件的编辑,开始编辑foo文件
 :e! foo
 同上,但是取消对当前文件的修改
 :e! 装入当前文件的最近保存的内容
 [Ctrl+^] 返回到最近编辑的文件
 :n 编辑下一个文件(当用vi同时编辑多个文件时)
 :set autowrite(aw)
 在用:n切换到下一个文件之前自动保存当前文件
 :rew 返回到文件列表的第一个文件(当用vi同时编辑多个文件时)
 :r foo
 把foo文件的内容插入当前行的下面
多窗口(vim)
 命令功能 
 :sq 把当前窗口拆分为两个
 :new 打开一个新的空白窗口
 :[Ctrl+w][Ctrl+w] 在窗口之间切换
 :on 把当前窗口变为唯一的窗口
 :q 退出当前窗口
 :qa 退出所有窗口
 :xa 保存并退出全部窗口
 [Ctrl]+ 增大窗口尺寸
 [Ctrl]- 减小窗口尺寸
搜索与重复
   搜索模式pat可以时一个字符串,也可以是一个正则表达式。vi使用一套专用的字符序列来执行一行内的搜索。
 命令功能 
 /pat 向前搜索pat
 ?pat 向后搜索pat
 /printf 向前搜索printf
 ?[0-0]$ 向后搜索行尾的数字
 /^# 向前搜索行首的#
 n 按上次搜索方向重复搜索
 N 按与前次搜索的相反方向重复搜索
 :set wrapscan(ws)
 继续搜索直至达到文件尾
 :set ignorecase(ic)
 搜索时不区分大小写
 :set magic
 保留正则表达式字符的意义
 fc 在当前行向前搜索字符c
 Fc 在当前行向后搜索字符c
 ; 在当前行重复上次向前搜索
 , 在当前行重复上次逆向搜索
替换
   源模式s1也可以是正则表达式。使用欧冠地址时,"."代表当前行,"$"代表最后一行,"1,$"代表整个文件。
 命令功能 
 :.s/s1/s2 把当前行中第一次出现的s1替换为s2
 :1,$s/s1/s2 把整个文件里的s1替换为s2
 :1,$s/echo/printf/g 把全部的echo替换为printf
 :1,$s/s1/s2/gc 按交互方式把全部s1替换为s2
 :1,$s/#//g 删除文件中所有的“#”
 :3,10s/^/#/g 在3至10行的行首插入“#”
 :$s/$/;/ 在最后一行的行尾插入“;”
 :1,$s/s1/s2/g 把所有的s1替换为s2
 :1,$s/HEAD/<&>/g 把所有的HEAD替换为
标志与书签
 命令功能 
 ma设置一个标签a 
 'a 移动到标签a
 " 在当前标志与前一个标志位置之间切换
重做与恢复
 命令功能 
 . 重复上次命令
 u 取消上次的编辑命令(在vim里取消所有以前的命令)
 [Ctrl+r] 重做上次取消的操作(只限于vim)
 U 取消所有对当前行的操作
 "4p 从缓冲区中恢复第4次最近的删除操作
缩写表示
 命令功能 
 :ab name stg
 把name缩写为stg
 :unab stg
 删除stg缩写
 :ab 列出所有的缩写
映射键
 命令功能 
 :map key commands
 把key映射到commands
 :map! key commands
 在输入模式下把key映射到commands
 :unmap key
 取消命令模式下的key映射
 :unmap! key
 取消输入模式下的key映射
 :map 显示命令模式下所有的映射
 :map! 显示输入模式下的所有映射
与UNIX的接口命令
 命令功能 
 :!cmd 执行UNIX的cmd命令
 :!% 把当前文件作为shell或perl脚本执行
 :r !cmd
 把cmd命令的结果插入到当前行的下面
 :r !head -n 3 foo
 把foo文件前三行内容插入到当前行的下面
 sh 暂时退出UNIX shell 环境
 [Ctrl+z] 暂停编辑(用fg命令可以返回vi编辑器)
 :!cc% 编译正在编辑的C程序
 :!javac %
 编译正在编辑的Java程序

阅读(2144) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~