怎么介绍?
分类:
2008-05-05 09:59:30
vim --version 查看vim版本及其可用模块
* 正向搜索光标所在单词
# 反向搜索光标所在单词 :nohl 取消搜索高亮 d0: 删至行首
d$: 删至行尾 gf 在新窗口中打开光标所在文件 :vsplit file.c来竖直分割当前屏幕编辑file.c文件。类似的有edit,split
:make 编译文件,事先需编写makefile文件 :copen 可以打开一个调试窗口,显示出错信息 :line_number 跳到某行 :!cmd 执行某个cmd命令,例如shell中的ls,或者编译产生的可执行文件./bin_file 进入vi的命令 ============ vi filename: 打开或新建文件,并将光标置于第一行首 vi +n filename: 打开文件,并将光标置于第n行首 vi + filename: 打开文件,并将光标置于最后一行首 vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处 vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filename vi filename....filename: 打开多个文件,依次进行编辑 n+: 光标下移n行
n-: 光标上移n行 H: 光标移至屏幕顶行 M: 光标移至屏幕中间行 L: 光标移至屏幕最后行 0: 光标移至当前行首 $: 光标移至当前行尾 屏幕翻滚类命令
============== Ctrl+u: 向文件首翻半屏 Ctrl+d: 向文件尾翻半屏 Ctrl+f: 向文件尾翻一屏 Ctrl+b: 向文件首翻一屏 nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。输入后按Enter键。 搜索及替换命令
============== /pattern: 从光标开始处向文件尾搜索pattern ?pattern: 从光标开始处向文件首搜索pattern n: 在同一方向重复上一次搜索命令 N: 在反方向上重复上一次搜索命令 :s/p1/p2/g: 将当前行中所有p1均用p2替代 :n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代 :g/p1/s//p2/g: 将文件中所有p1均用p2替换 最后行方式命令
============== :n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下 :n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下 :n1,n2 d: 将 n1行到n2行之间的内容删除 :!command: 执行shell命令command :n1,n2 w!command: 将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,则表 示将整个文件内容作为command的输入
:r!command: 将命令command的输出结果放到当前行 寄存器操作
========== "?nyy: 将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyw: 将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字 "?nyl: 将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字 "?p: 取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字 ndd: 将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中 文本格式转换 ============
将DOS格式文本转成Unix格式文本,命令如下: :1,$s/^M//g 其中^M是同时Ctrl+V+M按出来的,表示回车。 或者:set ff=unix 在行首尾添加字符串
=================
用下列命令在文本每行的行首添加字符串“NewString”,请注意空格的存在。 :g/^/s//NewString/g :%s/^/NewString/g 用下列命令在每行的行尾添加字符串“NewString”:
:g/$/s//NewString/g :%s/$/NewString/g 从文本的第3行至最后一行的行首全部插入字符串“NewString”:
:3,$s/^/NewString/ 在整个文件中替换特定字符串,所用的命令如下:
:%s/old_string/new_string/g 如果仅将文件中的第3行到第7行中的“old_string”替换成“new_string”,那么使用下列命令:
:3,7s/old_string/new_string/ 注意,其中“s”为表示替换动作,“%”表示所有行,“g”表示全文,“^”表示行首,“$”表示行
尾。
|