分类: LINUX
2011-02-28 00:24:43
| 命令 | 功能 |
| :e foo | 停止对当前文件的编辑,开始编辑foo文件 |
| :e! foo | 同上,但是取消对当前文件的修改 |
| :e! | 装入当前文件的最近保存的内容 |
| [Ctrl+^] | 返回到最近编辑的文件 |
| :n | 编辑下一个文件(当用vi同时编辑多个文件时) |
| :set autowrite(aw) | 在用:n切换到下一个文件之前自动保存当前文件 |
| :rew | 返回到文件列表的第一个文件(当用vi同时编辑多个文件时) |
| :r foo | 把foo文件的内容插入当前行的下面 |
| 命令 | 功能 |
| :sq | 把当前窗口拆分为两个 |
| :new | 打开一个新的空白窗口 |
| :[Ctrl+w][Ctrl+w] | 在窗口之间切换 |
| :on | 把当前窗口变为唯一的窗口 |
| :q | 退出当前窗口 |
| :qa | 退出所有窗口 |
| :xa | 保存并退出全部窗口 |
| [Ctrl]+ | 增大窗口尺寸 |
| [Ctrl]- | 减小窗口尺寸 |
| 命令 | 功能 |
| /pat | 向前搜索pat |
| ?pat | 向后搜索pat |
| /printf | 向前搜索printf |
| ?[0-0]$ | 向后搜索行尾的数字 |
| /^# | 向前搜索行首的# |
| n | 按上次搜索方向重复搜索 |
| N | 按与前次搜索的相反方向重复搜索 |
| :set wrapscan(ws) | 继续搜索直至达到文件尾 |
| :set ignorecase(ic) | 搜索时不区分大小写 |
| :set magic | 保留正则表达式字符的意义 |
| fc | 在当前行向前搜索字符c |
| Fc | 在当前行向后搜索字符c |
| ; | 在当前行重复上次向前搜索 |
| , | 在当前行重复上次逆向搜索 |
| 命令 | 功能 |
| :.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! | 显示输入模式下的所有映射 |
| 命令 | 功能 |
| :!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程序 |