aix编辑器vi命令.docx

上传人:b****5 文档编号:28938681 上传时间:2023-07-20 格式:DOCX 页数:10 大小:17.54KB
下载 相关 举报
aix编辑器vi命令.docx_第1页
第1页 / 共10页
aix编辑器vi命令.docx_第2页
第2页 / 共10页
aix编辑器vi命令.docx_第3页
第3页 / 共10页
aix编辑器vi命令.docx_第4页
第4页 / 共10页
aix编辑器vi命令.docx_第5页
第5页 / 共10页
点击查看更多>>
下载资源
资源描述

aix编辑器vi命令.docx

《aix编辑器vi命令.docx》由会员分享,可在线阅读,更多相关《aix编辑器vi命令.docx(10页珍藏版)》请在冰豆网上搜索。

aix编辑器vi命令.docx

aix编辑器vi命令

1)文件操作

viFileName打开文件FileName,并将光标置于第一行首。

vi+nFileName打开文件FileName,并将光标置于第n行首。

vi+FileName打开文件FileName,并将光标置于最后一行。

vi+/patternFile打开文件File,并将光标置于其中第一个于pattern匹配的字符串处。

vi–rFileName在上次正用vi编辑FileName发生系统崩溃后,恢复FileName。

viFile1…Filen打开多个文件,依次对之进行编辑。

:

%!

xxd按十六进制查看当前文件

:

%!

xxd-r从十六进制返回正常模式

:

n1,n2con3将n1行到n2行之间的内容拷贝到第n3行下。

:

n1,n2mm3将n1行到n2行之间的内容移至第n3行下。

:

n1,n2d将n1行到n2行之间的内容删除。

:

n1,n2wfilename将n1行到n2行之间的内容保存到文件filename中

:

n1,n2w!

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中的光标下的函数的原型,

按^t退出函数

:

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修改指定数目的行。

:

rfilename将文件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成registera中的内容,呵呵

:

g/

#替换一个visual区域

#选择一个区域,然后输入:

s/Emacs/Vim/等等,vim会自动进入:

模式:

'<,'>s/Emacs/Vim/g前面的'<,'>是vim自动添加的

#在多个文档中搜索

:

bufdo/searchstr

:

argdo/searchstr

复制与剪切

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

ddp上下两行的位置交换

:

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

:

vne[filename]

:

sp[filename]

:

S[filename]

:

new[filename]

:

^w+^r交换两个窗口的位置

^w=窗口等宽

:

res-n窗口高度减小n

:

res+n窗口高度增大n

:

vertres-n

:

vertres+n

10)DOS格式文本转成Unix格式文本

:

1,$s/^M//g

11)书签

在阅读和编写大的程序文件时,利用标记(书签)功能定位是十分有帮助的。

将光标移到想做标记的位置。

假如做一个名为“debug1”的标记,那么用户可在命令模式下输入做标记的命令“mdebug1”,然后敲入回车键,一个名为“debug1”的标记就做好了。

接下来用户可以随意将光标移到其它的位置,当在命令模式下输入“`debug1”后,就能快速回到“debug1”的标记所在行的行首。

12)删除操作

:

%s/r//g删除DOS方式的回车^M

:

%s=*$==删除行尾空白

:

%s/^(.*)n1/1$/删除重复行

:

%s/^.pdf/new.pdf/只是删除第一个pdf

:

%s/

--_.-->//又是删除多行注释(咦?

为什么要说「又」呢?

:

g/^s*$/d删除所有空行

:

g!

/^dd/d删除不含字符串'dd'的行

:

v/^dd/d同上(译释:

v==g!

就是不匹配!

:

g/str1/,/str2/d删除所有第一个含str1到第一个含str2之间的行

:

v/./.,/./-1join压缩空行

:

g/^$/,/./-j压缩空行

ndw或ndW删除光标处开始及其后的n-1个字符。

d0删至行首。

d$删至行尾。

ndd删除当前行及其后n-1行。

x或X删除一个字符。

Ctrl+u删除输入方式下所输入的文本。

^R恢复u的操作

J把下一行合并到当前行尾

V选择一行

^V按下^V后即可进行矩形的选择了

aw选择单词

iw内部单词(无空格)

is选择句子(无空格)

ap选择段落

ip选择段落(无空格)

D删除到行尾

x,y删除与复制包含高亮区

dl删除当前字符(与x命令功能相同)

d0删除到某一行的开始位置

d^删除到某一行的第一个字符位置(不包括空格或TAB字符)

dw删除到某个单词的结尾位置

d3w删除到第三个单词的结尾位置

db删除到某个单词的开始位置

dW删除到某个以空格作为分隔符的单词的结尾位置

dB删除到某个以空格作为分隔符的单词的开始位置

d7B删除到前面7个以空格作为分隔符的单词的开始位置

d)删除到某个语句的结尾位置

d4)删除到第四个语句的结尾位置

d(删除到某个语句的开始位置

d)删除到某个段落的结尾位置

d{删除到某个段落的开始位置

d7{删除到当前段落起始位置之前的第7个段落位置

dd删除当前行

d/text删除从文本中出现“text”中所指定字样的位置,

一直向前直到下一个该字样所出现的位置(但不包括该字样)之间的内容

dfc删除从文本中出现字符“c”的位置,一直向前直到下一个该字符所出现的位置(包括该字符)之间的内容

dtc删除当前行直到下一个字符“c”所出现位置之间的内容

D删除到某一行的结尾

d$删除到某一行的结尾

5dd删除从当前行所开始的5行内容

dL删除直到屏幕上最后一行的内容

dH删除直到屏幕上第一行的内容

dG删除直到工作缓存区结尾的内容

d1G删除直到工作缓存区开始的内容

修改命令操作

r更改当前字符

cw修改到某个单词的结尾位置

c3w修改到第三个单词的结尾位置

cb修改到某个单词的开始位置

cW修改到某个以空格作为分隔符的单词的结尾位置

cB修改到某个以空格作为分隔符的单词的开始位置

c7B修改到前面7个以空格作为分隔符的单词的开始位置

c0修改到某行的结尾位置

c}修改到某个语句的结尾位置

c4}修改到第四个语句的结尾位置

c(修改到某个语句的开始位置

c)修改到某个段落的结尾位置

c{修改到某个段落的开始位置

c7{修改到当前段落起始位置之前的第7个段落位置

ctc修改当前行直到下一个字符c所出现位置之间的内容C修改到某一行的结尾

cc修改当前行

5cc修改从当前行所开始的5行内容

.重复上一次修改!

 

展开阅读全文
相关资源
猜你喜欢
相关搜索

当前位置:首页 > 人文社科 > 法律资料

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1