vi编辑器
引用自:http://www.gentoo.org/doc/zh_cn/vi-guide.xml#doc_chap2
vim编辑器和vi实际上是不同的,只不过vim向后兼容了vi的命令
移动:
方向: K
H L
J
跳到一行开始位置: 0(零)
跳到一行最后位置: $
前进一页: ^F/PGDN
后退一页: ^B/PGUP
下一个词/长词的开始: w/W
下一个词/长词的结尾: e/E
前一个词/长词的开始: b/B
前一句/后一句的开始处: ( / )
当前段落/下一段落的开始处:{ / }
跳转到特定的行: G (1G跳到首行)
搜索/替换:
如果你想跳转到下一处某个文本模式的出现,输入/<regexp>后敲回车。用你正在寻找的正则表达式替换<regexp>。如果你不知道怎么使用正则表达式,不要烦躁──输入foo会移动到下一处foo出现的地方。对此你唯一需要注意的是,当你想引用^、.、$或/字符时,用反斜线符号(/)做这些符号的前缀。比如,foo/.gif会搜索下一处“foo.gif”的出现。
要向前重复搜索,敲n键。要向后重复搜索,输入N。跟往常一样,在你自己的vi编辑器里测试这些命令。你也可以输入//来重复上一次搜索。
查找string: :/string
向后/向前重复查找: n/N
替换当前行的首个匹配: :s/rep/rep/
替换当前行的所有匹配: :s/rep/rep/g
全局替换: :%s/rep/rep/g
全局替换前提示: :%s/rep/rep/gc
插入模式:
插入到当前位置之前/之后: i/a
插入到当前行的开始/末尾: I/A
在下面/上面开始新行的插入: o/O
替换当前行: cc
替换直到(move): c(move)
制表:
启动自动缩进: :set autoindent
向左/右缩进: ^D/^T(插入模式中)
设定制表大小为num: :set tabsop=num
保存退出:
退出到命令模式: ESC/^C
停止vi:
1.需要保存工作后退出vi: ZZ
2.不保存工作后退出vi: :q!<cr> (!告诉vi不要检查是否保存了数据)
系统失败后的数据的恢复: vi -r filename(不要与-R只读选项混淆)
模式:
以兼容模式启动vim : alias vi="vim -C"
了解vi当前所处的模式: set showmode
以只读方式启动vi: vi -R filename 或 view filename
(为什么不用less,因为vi的功能非常强大,所以许多人宁愿用vi查看文件)
进入ex模式: 命令模式下输入Q,再输入vi回到vi模式
vim是一个多模式的编辑器。就目前来看,主要有以下几个主要模式。 1.通常模式(n) 在其它任何一个模式下,用ESC或者 ctrl+c 键可以退到通常模式 2.插入模式(i) 在这个模式下,vim像一个常见的编辑器.在通常模式下,用i或者a可以进行本模式,当然,还有一些其它命令也可以. 3.可视模式(v) 在这个模式下,可以使用hjkl进行选择.然后进行copy,paste或者其它操作. 在通常模式下,用v命令进行可视模式. 4. 块操作模式(V) 这是块操作模式. 在通常模式下,用ctrl+v进入本模式. 5. 修改模式(R) 这是改写的模式.很多软件法用insert键来完成这个切换.在vim中,从通常模式用R即可进入改写模式. 6. 扩展命令模式(ex) 这是命令执行模式 在通常模式下用:切换到此模式 |
多窗口:
将更改保存到另一个文件: :w filename.txt
同时打开多个缓冲区(vim): :sp filename.txt
在多个缓冲区切换: ^w^w
编辑修改:
删除当前光标下的字符: x
将下一行加到当前行末尾: J(大写!)
用(char)替换当前光标下字符: r(char)
删除当前行: dd
从当前位置删除到(move): d(move)
撤销: u
重复上一条编辑命令: .
复合命令:
1.移动
向右3个字符: 3->
向右4句: 4)
向左2个单词: 2b
2.删除
删除后面3个单词: d3w
删除本段后面的部分: d}
删除本句后面的部分: d)
3.更改
替换本句其余部分: c)
替换本行后面部分: c$
插入控制字符: ^V^C(输入^C)
^V^V(输入^V)
制表字符: ^I
重新显示各行: ^L