aix编辑器vi命令

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 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/a/g 替换fred成register a中的内容,呵呵

:g/

# 替换一个visual区域

# 选择一个区域,然后输入:s/Emacs/Vim/ 等等,vim会自动进入:模式:'<,'>s/Emacs/Vim/g 前面的'<,'>是vim自动添加的

# 在多个文档中搜索

:bufdo /searchstr

:argdo /searchstr

复制与剪切

xp 交换前后两个字符的位置

ddp 上下两行的位置交换

:g/fred/t$ 拷贝行,从fred到文件末尾(EOF)

相关文档
最新文档