博客迁移,迁移前原文: https://www.cnblogs.com/smstars/archive/2013/05/18/3085329.html
编辑一个文件
语法:
vi 【-rR】 【file……】
常用命令:
命令 |
说明 |
vi file |
启动vi,编辑指定的文件 |
vi -R file |
以只读模式启动vi |
view file |
以只读模式启动vi (vi -R file等同于view file) |
vim file |
启动vim,编辑指定的文件 |
vim -C file |
以兼容模式启动vi |
编辑技巧
命令 |
说明 |
vi +[num] file |
打开文件,并将光标置于第n行首 |
vi + file |
打开文件,并将光标置于最后一行首 |
vi +/pattern file |
打开文件,并将光标置于第一个与pattern匹配的字符串 |
vi +?pattern file |
编辑工作从匹配pattern的最后一行开始 |
vi -r file |
(-r 即recover,恢复) |
文本插入
命令 |
说明 |
i |
在当前光标位置前插入数据 |
a |
在当前光标位置后插入数据 |
I |
在当前行开头处插入数据 |
A |
在当前行末尾处插入数据 |
o |
在当前行下面出入一行 |
O |
在当前行上面插入一行 |
写入文件
命令 |
说明 |
:w |
将数据写入到原始文件 |
:w file |
将数据写入到指定文件 |
:w >> file |
将数据追加到指定文件 |
:r [filename] |
在编辑的数据中,读取另一个档案的数据,亦将档案内容加到游标所在行的后面 |
:n1,n2 w [filename] |
将n1到n2的内容存储成另一个档案。 |
退出文件、停止vi
命令 |
说明 |
:q |
退出文件 |
:q! |
不保存数据,强制退出 |
:wq |
保存退出文件 |
shift+ZZ |
停止vi |
ZQ |
无条件退出 |
多档编辑
通常用法:语法:
vi a.txt b.txt c.txt,切换文件: :next
命令 |
说明 |
:n |
编辑下一个档案 |
:2n |
编辑下两个档案 |
:N |
编辑前一个档案 |
:e |
在不离开当前vim窗口的情形下,在编辑其它档案 |
:e# |
编辑前一个档案 |
:e! |
放弃目前正在编辑的档案 |
:r |
在游标所在处插入一个档案内容 |
:9r |
将档案插入到9行之后 |
:f |
显示当前正在编辑的档名,相当于^g |
:f filename |
改变编辑中的档名。 |
:files |
列出目前buffer中的所有档案,相当于:ls 或 :buffers |
:bn |
移至下一个buffer |
:bl |
移至前一个buffer |
:b 档名 |
移至该档名 |
vi与vim命令行常用选项
命令 |
说明 |
-b |
以二进制模式编辑文件 |
-c command |
启动后立即运行给定的ex命令 |
-d |
以diff模式运行 |
-o[num] |
启动vim时打开num个窗口 |
-O[num] |
启动vim时打开num个水平排列 |
-r |
恢复模式 |
-R |
于只读模式中编辑文件 |
-t tag |
编辑包含tag的文件,并将光标置于tag位置 |
-T type |
设置可选终端类型 |