aix编辑器vi命令
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
vi FileName 打开文件FileName,并将光标置于第一行首。
vi +n FileName 打开文件FileName,并将光标置于第n 行首。
vi + FileName 打开文件FileName,并将光标置于最后一行。
vi + /pattern File 打开文件File,并将光标置于其中第一个于pattern 匹配的字符串处。vi –r FileName 在上次正用vi 编辑FileName 发生系统崩溃后,恢复FileName。
vi File1 … Filen 打开多个文件,依次对之进行编辑。
:%!xxd 按十六进制查看当前文件
:%!xxd -r 从十六进制返回正常模式
:n1,n2 co n3 将n1 行到n2 行之间的内容拷贝到第n3 行下。
:n1,n2 m m3 将n1 行到n2 行之间的内容移至第n3 行下。
:n1,n2 d 将n1 行到n2 行之间的内容删除。
:n1,n2 w filename 将n1 行到n2 行之间的内容保存到文件filename 中
:n1,n2 w! Command 将文件中n1行到n2行的内容作为Command的输入并执行之,若不指定n1、n2,则将整个文件内容作为Command 的输入。
:r! Command 将命令Command 的输出结果放到当前行。
:nr <文件> 把<文件>插入到第n行
:so <文件> 读取<文件>,再执行文件里面的命令(文件中的命令应该都是一些ex命令) :l1,l2w <文件> 把第l1和第l2行之间的文本写到<文件>中去
:w >> <文件> 添加到<文件>末尾. 也可以使用行号
:e! 重新编辑当前文件,忽略所有的修改
·(、[、、]、)对应显示
% 显示当前(、[、{ 、}、] 、)的对应项
) 显示对应的(
) 显示对应的[
] 显示对应的{
·(、[、、]、)内数据选择
daB 删除{}及其内的内容(在非v可视模式下)
diB 删除{}中的内容
ab 选择()中的内容
ib 选择()中的内容( 不含() )
aB 选择{}中的内容
iB 选择{}中的内容( 不含{} )
·语法提示与自动补齐
★
★
·设置ctags
#ctags -f /usr/share/vim/vim63/funcs.tags -R /opt/j2sdk/src
/usr/src/kernels/2.6.9-5.EL-i686
^p 自动补齐上下文已有相近项
^n 自动补齐~/.tags中的相近函数
^[ 显示~/.tags中的光标下的函数的原型,
:pta 函数名预览窗口快速打开相应函数所在文件,并将光标定位在对应函数的开头K 显示光标下的C函数的man说明手册
·变量定位
gd 转到光标下局部变量的定义处
Gd 转到光标下全局变量的定义处
·编译选项
:cn 命令会把你带到下一个出错地点,而不考虑它在什么文件里。
:cc 命令会向你显示当前错误的编译器输出信息;
:cl 会生成一个列有项目所有错误的列表,以供浏览这些错误
3]光标移动
·字符
h 光标左移一个字符。
l 光标右移一个字符。
·字
w 或W 光标右移一个字至字首。
B 或b 光标左移一个字至字首。
E 或e 光标右移一个字至字尾。
·句} 光标移至句尾。
( 光标移至句首。
·段) 光标移至段落开头。
{ 光标移至段落结尾。
·行k 或Ctrl+p 光标上移一行。
j 或Ctrl+n 光标下移一行。
Enter 光标下移一行。
nG 光标移至第n 行首。
n+ 光标下移n 行。
n- 光标上移n 行。
n$ 光标移至第n 行尾。
0 光标移至当前行首。
$ 光标移至当前行尾。
·屏幕
H 光标移至屏幕顶行。
M 光标移至屏幕中间行。
L 光标移至屏幕最后行。
Ctrl+u 向文件首翻半屏。
Ctrl+d 向文件尾翻半屏。
Ctrl+f 向文件尾翻一屏。
Ctrl+b 向文件首翻一屏。
nz 将第n 行滚至屏幕顶部。不指定n 时将当前行滚至屏幕顶。
4}插入
# 在文件中插入行号(不是显示行号,是插入!)
★:g/^/exec "s/^/".strpart(line(".")." ", 0, 4)
·光标
i 在光标前插入。
a 在光标后插入。
·行
I 在当前行首插入。
A 在当前行尾插入。
o 在当前行之下一新行插入。
O 在当前行之上新开一行插入。
5)替换
r 替换当前字符。
R 替换当前字符及其后的字符,直至按ESC 键。
s 从当前光标位置处开始,以输入的文本代替指定数目的字符。
S 删除指定数目的行,并以所输入的文本代替。
6)修改
ncw 或nCW 修改指定数目的字符。
nCC 修改指定数目的行。
:r filename 将文件filename 插入在当前行之下
7)查找替换
/
/
:g/str/s/str1/str2/g
第一个g表示对每一个包括s1的行都进行替换,
第二个g表示对每一行的所有进行替换
包括str的行所有的str1都用str2替换
:%s/f $/for$/g 将每一行尾部的“f ”(f键和空格键)替换为for
:%s/^/mv /g 在每一行的头部添加“mv ”(mv键和空格键)
:s/fred/
:g/
# 替换一个visual区域
# 选择一个区域,然后输入:s/Emacs/Vim/ 等等,vim会自动进入:模式:'<,'>s/Emacs/Vim/g 前面的'<,'>是vim自动添加的
# 在多个文档中搜索
:bufdo /searchstr
:argdo /searchstr
复制与剪切
xp 交换前后两个字符的位置
ddp 上下两行的位置交换
:g/fred/t$ 拷贝行,从fred到文件末尾(EOF)