VI高级命令集锦

合集下载

vi操作命令大全完整版

vi操作命令大全完整版

v i操作命令大全HUA system office room 【HUA16H-TTMS2A-HUAS8Q8-HUAH1688】一vi的操作模式vi提供两种操作模式:输入模式(insert mode)和指令模式(command mode)。

在输入模式下,用户可输入文本资料。

在指令模式下,可进行删除、修改等各种编辑动作。

在输入模式下,按Esc键切换到指令模式下。

在指令模式下,按输入指令(i、a、o等)进入输入模式。

二进入vi$ vi filename直接键入“vi + 所要编辑的文件名”,即可对指定的文件进行编辑。

如果指定的文件为新文件,则提示:“New file”,否则显示该文件的当前内容。

$ view filename以只读方式打开文件filename三指令模式3.1进入输入模式a 在当前游标之后输入A 在当前行之末输入i 在当前游标之前输入I 在当前行之首输入o 在当前行之下新增一行,并在新增行输入O 在当前行之上新增一行,并在新增行输入输入结束后,按Esc键退出输入模式。

3.2游标移动h 向左移动一个字元 l 向右移动一个字元 j 向下移动一个字元 k 向上移动一个字元 b 左移一个单词,至词首 w 右移一个单词,至词尾 0 移到当前行行首 $ 移到当前行行尾 + 移至下一行的行首 - 移至上一行的行首 H 移至视窗的第一行 M 移至视窗的中间一行 L 移至视窗的最后一行 G 移至该文件的最后一行 nG 移至该文档的第n行 n+ 下移n行 n- 上移n 行3.3视窗移动*<Ctrl> + f 视窗下卷一页 *<Ctrl> + b 视窗上卷一页 <Ctrl> + d 视窗下卷半页<Ctrl> + u 视窗上卷半页 * <Ctrl> + e 视窗下卷一行 * <Ctrl> + y 视窗上卷一行3.4删除操作x 删除游标所在字元 X 删除游标前一字元 dw 从游标当前位置开始向后删除一个单词 db 从游标当前位置开始向前删除一个单词 d0 从行首删除至当前游标位置 d$ 从游标当前位置删除至行尾 dd 删除游标所在行 D 同d$3.5修改操作s 修改游标所在字元,修改完成后按Esc键结束 S 修改整行内容,修改完成后按Esc键结束 r 替换当前游标所在字元 R 进入替换状态,直至按Esc键结束 cw 修改一个单词(从游标位置至词尾) cb 修改一个单词(从词首至游标位置) cc 修改整行内容,完成后按Esc 键结束,同S c0 修改行首至游标位置的内容 c$ 修改游标位置至行尾的内容 ~ 游标所在字元大小写切换3.6指令重复在指令模式中,可在指令前面加入一个数字n,则该指令会重复执行n次。

Vi常用命令

Vi常用命令

进入vi的命令 (1)移动光标类命令 (1)屏幕翻滚类命令 (2)编辑插入文本类命令 (3)删除命令 (5)搜索及替换命令 (6)选项设置 (8)组合命令 (10)最后行方式命令 (14)寄存器操作 (15)进入vi的命令vi filename :打开或新建文件,并将光标置于第一行首vi +n filename :打开文件,并将光标置于第n行首vi + filename :打开文件,并将光标置于最后一行首vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename :在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename :打开多个文件,依次进行编辑移动光标类命令h :光标左移一个字符l :光标右移一个字符space:光标右移一个字符Backspace:光标左移一个字符k或Ctrl+p:光标上移一行j或Ctrl+n :光标下移一行Enter :光标下移一行w或W :光标右移一个字至字首b或B :光标左移一个字至字首e或E :光标右移一个字至字尾) :光标移至句尾( :光标移至句首}:光标移至段落开头{:光标移至段落结尾nG:光标移至第n行首n+:光标下移n行n-:光标上移n行n$:光标移至第n行尾H :光标移至屏幕顶行M :光标移至屏幕中间行L :光标移至屏幕最后行0:(注意是数字零)光标移至当前行首$:光标移至当前行尾^ 光标移到行首f 光标移到当前光标位置后面的第一个指定的字符下F 光标移到当前光标位置前面的第一个指定的字符下t 光标移到当前光标位置后面的第一个指定的字符前T 光标移到当前光标位置前面的第一个指定的字符前% 光标移动到与当前括号匹配的括号处:n 光标移动到指定行按数字:0:移到文章的开头。

按G:移动到文章的最后。

按w:光标跳到下个字的开头按e:光标跳到下个字的字尾按b:光标回到上个字的开头按:#l:光标移到该行的第#个位置,如:5l,56l。

vi命令大全

vi命令大全

vi命令大全进入vivi filename 打开或新建文件,并将光标置于第一行首vi +n filename 打开文件,并将光标置于第n行首vi + filename 打开文件,并将光标置于最后一行首vi +/pattern filename 打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename 在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename ……filename 打开多个文件,一次进行编辑保存退出w 保存当前文件w /tmp1 另存为/tmp120,59w /tmp1 仅将20-59行之间的内存另存为/tmp1x或wq 保存退出q 退出viq!退出不保存!command 执行shell命令commandn1,n2 w!command 将文件中n1行至n2行的内容最为command的输入并执行之,若不指定n1,n2,则表示将整个文件内容作为command的输入r!command 将命令command的输出结果放到当前行w!sudo tee % 保存没权限时,可获得权限再保存光标移动h 光标左移一个字符l 光标右移一个字符space 光标右移一个字符backspace 光标左移一个字符k 或Ctrl+p 光标上移一行j 或Ctrl+n 光标下移一行Enter 光标下移一行w 或W 光标右移一个字至字首b 或B 光标左移一个字至字首e 或E 光标右移一个字至字尾)光标移至句尾(光标移至句首} 光标移至段落开头{ 光标移至段落结尾nG 光标移至第n行首n+ 光标下移n行n- 光标上移n行n$ 光标移至第n行尾H 光标移至屏幕顶行M 光标移至屏幕中间行L 光标移至屏幕最后行0 光标移至当前行首$ 光标移至当前行尾屏幕翻滚Ctrl+u 向文件首翻半屏Ctrl+d 向文件尾翻半屏Ctrl+f 向文件尾翻一屏Ctrl+b 向文件首翻一屏nz 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部插入i 在光标前I 在光标行首a 光标后A 在当前行尾o 在当前行之下新开一行O 在当前行之上新开一行r 替换当前字符R 替换当前字符及其后的字符,直至按ESC键s 从当前光标位置处开始,以输入的文本替代指定书目的字符S 删除指定数目的行,并以所输入文本替代之ncw nCW 修改指定数目的字nCC 修改指定数目的行删除ndw 或者ndW 删除光标处开始及其后的n-1个字do 删至行首d$ 删至行尾ndd 删除当前行及其后n-1行x或X 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u 删除输入方式下所输入的文本n1,n2 d 将n1行到n2行之间的内容删除%d 删除全部内容1,$d 删除全部内容复制粘贴、剪切、移动yy 复制当前行nyy复制当前行开始的n行先按v然后方向键选择区域,按y复制选中行dd 剪切当前行p(小写)在当前光标处下面粘贴内容P(大写)在当前光标处上面粘贴内容n1,n2 co n3 将n1行到n2行之间的内容拷贝到第n3行下n1,n2 m n3 将n1行到n2行之间的内容移至到第n3行下搜索/abc 从光标开始处向文件尾搜索abc?abc 从光标开始处向文件首搜索abc/\/abc 从光标开始处向文件尾搜索/abc,其中/是转义n 在同一方向重复上一次搜索命令N在反方向上重复上一次走命令替换s/Vivian/sky/ 替换当前行第一个vivian为skys/Vivian/sky/g 替换当前行所有vivian为skyn,$s/vivian/sky 替换第n行开始到最后一行中每一行的第一个vivian为skyn,$s/vivian/sky/g 替换第n行开始到最后一行中每一行所有vivian为sky%s/vivian/sky/g (等同于g/vivian/s//sky/)替换每一行的每一个vivian 为skys#vivian/#sky/# 替换当前行第一个vivian/ 为sky/(可以使用#或+作为分隔符,此时中间出现的/ 不会作为分隔符)s/p1/p2/g 将当前行中所有p1均用p2替代n1,n2s/p1/p2/g 将第n1至n2行中所有p1均用p2替代g/p1/s/ /p2/g 将文件中所有的p1均用p2替换选项设置set number 显示行号set number! 不显示行号,其它选项同理加!号set all 列出所有选项设置情况set term 设置终端类型set ignorance 在搜索中忽略大小写set list 显示制表位(Ctrl+I)和行尾标志($)set report 显示又面向行的命令修改过的数目set terse 显示简短的警告信息set warn 在转到别的文件时若没保存当前文件则显示NO write信息set nomagic 允许在搜索模式中,使用前面不带“”的特殊字符set nowrapscan 禁止vi在搜索到达文件两端时,又从另一端开始set mesg 允许vi显示其他用户用write写到自己终端上的信息。

vi命令大全

vi命令大全
从shell中启动可视化编辑器:
vi filename:
指示shell启动vi编辑器,并将参数filename传给它。如果当前目前中存在该文件,则vi编辑器将它解释为要打开的文件;如果没有该文件,则vi编译器创建新文件。
vi file1 file2 file3:
shell传递3个参数给vi,vi将它们解释为要打开的文件。可以使用:w命令保存文件,使用:n命令访问下一个文件
i(小写) 从光标的左侧开始插入文本
I(大写) 从当前行的行首插入文本
o(小写) 在光标的下面打开(或插入)一个新行
O(大写) 在光标的上面打开一个新行
:#r filename 例如,:8r report.old读取文件report.old,并将它的内容放到当前文件的第8行之后
Esc 无论使用什么命令进入了追加/插入模式,都可以通过按Esc键离开追加模式返回到vi的命令模式
T# 在当前行上向左移动光标,将它移到字符#的第1个实例的前一字符
/word 将光标向前移到单词word的下一个实例
?word 将光标向后移到单词word的上一个实例
n 将光标移到前面命令/word或?word中指定模式的下一个实例
显示调整命令
Ctrl+D 显示文件中的下半屏文本
Ctrl+U 显示文件中的上半屏文本
view filename:
打开文件进行编辑,但是拒绝保存对文件的修改,除非使用w!命令
光标移动命令:
hjkl 将光标分别向左、下、上、右移动一个字符
0(零) 将光标移到当前行的行首
^(脱字符) 同0一样将光标移到当前行的行首
$ 将光标移到当前行的行末

vi命令大全

vi命令大全

vi命令大全一、vi基本命令1)光标命令左h 上j 下k 右lnG ——n为行数,该命令立即使光标跳到指定行;n为空,光标跳到文件最后一行。

Ctrl+G——光标所在位置的行数和列数报告w,b——使光标向前或向后跳过一个单词2)编辑命令(n)dd 删除(n)yy 复制i 光标前插入a 当前字母后插入r 在当前光标处替换cw 替换光标所在处的单词(从光标开始处)dw 删除光标所在处的单词x 删除(右)X 删除(左)u 撤销. 重复上次操作o 插入新行J 合并两行A 行尾:.,3w /tmp/xx:r /tmp/xx3)查找命令f 查找/ 查找4)复制粘贴命令(n)yy 拷贝n行到剪切板p 粘贴(后)P 粘贴(当前)二、vi选项设置vi是一个强大的编辑器,它不仅可以用来处理我们平时的文本工作,还可以用来写程序文件。

在用vi进行程序编辑时,它可以实现语法加亮显示、自动缩进、括号匹配等编辑功能。

为控制不同的编辑功能,vi 提供了很多内部选项。

利用:set 命令可以设置选项。

基本语法为:: set option 设置选项option常见的功能选项包括:autoindent 设置该选项,则正文自动缩进ignorecase 设置该选项,则忽略规则表达式中大小写字母的区别number 设置该选项,则显示正文行号ruler 设置该选项,则在屏幕底部显示光标所在行、列的位置tabstop 设置按Tab 键跳过的空格数。

例如:set tabstop=n,n默认值为81)语法加亮显示: syntax on 该命令在vi中打开语法加亮显示的功能。

这样以后在输入的字符中,vi就会自动的识别出关键字,字符串以及其他的一些语法元素,并以不同的颜色来显示出来。

2)自动缩进在vi中自动缩进的选项一般有以下的几种:autoindent: 在这种缩进形式中,新增加的行和前一行有相同的缩进形式。

smartindent: 在这种缩进模式中,每一行都和前一行有相同的缩进量,同时能够正确的识别出{和},当遇到右花括号(}),则取消了缩进形式。

vi 实用命令总结(人个总结)

vi 实用命令总结(人个总结)

1.Ctrl +f 屏幕向下移动一页,相当于page down2.Ctrl +b 屏幕向上移动一页,相当于page up3.0或功能键home ,移动到这一行的最前面字符处4.$或功能键end,移动到这一行的最后字符处5.G移动到这个档案的最后一行6.移动到这个档案的第一行,相当于1G7.n<enter>,n为数字,光标向下移动n行8./word,向光标之下寻找一个名称为word的字符串。

例如要在档案内搜寻lxr这个字符串,就输入/lxr即可。

9.:n1,n2s/word1/word2/g n1与n2为数字,在第n1与n2行之间寻找wrod1这个字符串,并将该字符串取代为word2!10.:1,$s/word1/word2/g 从第一行到最后一行寻找word1字符串,并将该字符串取代为word2!11.:1,$s/word1/word2/gc从第一行到最后一行寻找word1字符串,并将该字符串取代为word2!且取代前显示提示字符给用用户确认是否需要取代!12.x,X在一行字当中,x为向后删除一个字符(相当于del),X为向前删除一个字符,相当于退格键。

13.dd 删除游标所在的那一整行。

14.ndd n为数字,删除光标所在的向下n列15.yy 复制游标所在的那一行16.nyy17.p,P 为将己复制的数据在光标下一行贴上,P则为贴在游标上一行!18.u 撤消19.ctrl +r 重复上一个动作20..(小数点)重复上一个动作21.I,i i 为从目前光标所在处插入,I 为在目前所在行的第一个非空格符处开始插入。

22.a,A a为从目前光标所在的下一个字符处开始插入,A为从光标所在行的最后一个字符处开始插入。

23.r,R r只会取代光标所在的那一个字符一次;R会一直取代光标所在的字,直到按下ESC为止24.ESC 退出编辑模式,回到一般模式中。

25.:W 将编辑的数据写入硬盘档案中26.:q! 若曾修改过档案,又不想储存,使用!为强制离开不储存档案。

vi指令大全

vi指令大全

Vi指令大全1 进入vi的命令2 移动光标类命令3 屏幕翻滚类命令4 插入文本类命令5 删除命令6 搜索及替换命令7 选项设置8 最后行方式命令9 寄存器操作进入vi的命令vi filename: 打开或新建文件,并将光标置于第一行首vi +n filename: 打开文件,并将光标置于第n行首vi + filename: 打开文件,并将光标置于最后一行首vi +/pattern filename: 打开文件,并将光标置于第一个与pattern匹配的串处vi -r filename: 在上次正用vi编辑时发生系统崩溃,恢复filenamevi filename....filename: 打开多个文件,依次进行编辑移动光标类命令h: 光标左移一个字符l: 光标右移一个字符space: 光标右移一个字符Backspace: 光标左移一个字符k或Ctrl+p: 光标上移一行j或Ctrl+n: 光标下移一行Enter: 光标下移一行w或W : 光标右移一个字至字首b或B : 光标左移一个字至字首e或E : 光标右移一个字至字尾): 光标移至句尾(: 光标移至句首}: 光标移至段落开头{: 光标移至段落结尾nG: 光标移至第n行首n+: 光标下移n行n-: 光标上移n行n$: 光标移至第n行尾H: 光标移至屏幕顶行M: 光标移至屏幕中间行L: 光标移至屏幕最后行0: 光标移至当前行首$: 光标移至当前行尾屏幕翻滚类命令Ctrl+u: 向文件首翻半屏Ctrl+d: 向文件尾翻半屏Ctrl+f: 向文件尾翻一屏Ctrl+b: 向文件首翻一屏nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i: 在光标前I: 在当前行首a: 光标后A: 在当前行尾o: 在当前行之下新开一行O: 在当前行之上新开一行r: 替换当前字符R: 替换当前字符及其后的字符,直至按ESC键s: 从当前光标位置处开始,以输入的文本替代指定数目的字符S: 删除指定数目的行,并以所输入文本代替之ncw或nCW: 修改指定数目的字nCC: 修改指定数目的行删除命令ndw或ndW: 删除光标处开始及其后的n-1个字do: 删至行首d$: 删至行尾ndd: 删除当前行及其后n-1行x或X: 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u: 删除输入方式下所输入的文本搜索及替换命令/pattern: 从光标开始处向文件尾搜索pattern?pattern: 从光标开始处向文件首搜索patternn: 在同一方向重复上一次搜索命令N: 在反方向上重复上一次搜索命令:s/p1/p2/g: 将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g: 将文件中所有p1均用p2替换选项设置all: 列出所有选项设置情况term: 设置终端类型ignorance: 在搜索中忽略大小写list: 显示制表位(Ctrl+I)和行尾标志($)number: 显示行号report: 显示由面向行的命令修改过的数目terse: 显示简短的警告信息warn: 在转到别的文件时若没保存当前文件则显示NO write信息nomagic: 允许在搜索模式中,使用前面不带“\”的特殊字符nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始mesg: 允许vi显示其他用户用write写到自己终端上的信息最后行方式命令:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d: 将 n1行到n2行之间的内容删除:w: 保存当前文件:e filename: 打开文件filename进行编辑:x: 保存当前文件并退出:q: 退出vi:q!: 不保存文件并退出vi:!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: 取出寄存器?中的内容并将其放到光标位置处。

vi编辑器常用命令(核心版)

vi编辑器常用命令(核心版)

vi编辑器常⽤命令(核⼼版)vi编辑器常⽤命令(核⼼版)模式转换:正常模式=>命令模式,按键:正常模式=>可视模式,按键v正常模式=>编辑模式,按键i # 插⼊模式(insert)# 或者r,replace模式光标移动1. 移动光标(⽅向键、或者h j k l 左下右上四个字母键(命令模式下))。

2. 翻页(Page Down、Page Up)。

3. 移动到该⾏⾸字符处(数字0或者Home);移动到该⾏最后(End)。

4. G:移动到⽂本最后⼀⾏。

查找1. 向下查找(/word),继续向下查找(n)。

2. 向上查找(?word),继续向上查找(N)。

删除、复制、粘贴1. 删除(x);删除n个字符(nx);退格按键(X)2. 剪切整⾏(dd);剪切n⾏(ndd)。

3. 复制整⾏(yy);复制n⾏(nyy)。

4. 粘贴(p)。

5. 恢复上⼀操作(u)。

6. 重做(Ctrl+r)。

7. 重复上⼀个操作(.)。

进⼊编辑(插⼊、替换)、退出编辑(Esc)1. 插⼊(i)。

2. 替换(r)。

进⼊可视模式(v)1. 复制(y):复制选中内容。

2. 删除/剪切(d):删除选中内容。

注:字符可视(v);块可视模式(Ctrl + v);⾏可视模式(shift+v)。

命令⾏模式1. 保存(:w);强制保存(:w!)。

2. 退出vi(:q);强制退出(:q!)。

3. 保存后退出(:wq);强制保存后退出(:wq!)。

4. 显⽰⾏号(:set nu);取消⾏号显⽰(:set nonu)。

5. 暂时退出vi到命令⾏(:! command)。

例如:“:! ls /home”,即可在vi中执⾏ls的命令。

  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。

VI高级命令集锦交换两个字符位置xp2.上下两行调换ddp3.把文件内容反转:g/^/m0/4.上下两行合并J5.删除所有行dG6.从当前位置删除到行尾d$7. 从当前位置复制到行尾, 如果要粘贴到其他地方p 就可以了y$8. 例如":ab usa United States of America" ,当你在文见里插入usa 时;United States of America 就蹦出来了:ab string strings9.定义你当前键盘命令:map keys new_seq10.:set [all]vi or ex 的编辑状态如显示每行 :set nu11.:X然后系统会提示输入密码, 输入密码后存盘退出, 保存后就加密了下次编辑时使用vi -x filename, 系统会提示你输入密码12.在命令状态下,nyy表示拷贝从光标行起的下n行内容,p表示paste,可刚复制的内容粘贴在光标处。

13.单个字符替换用r,覆盖多个字符用R,用多个字符替换一个字符用s,整行替换用S 14.:%s/old_word/new_word/g这个指令是于在整个文件中替换特定字符串15将光标移到第n行,按下mk将光标移到第m行,按下"ay'k即将第n到m的行存到a寄存器,以此类推,b,c........寄存器等移动光标类命令h: 光标左移一个字符l: 光标右移一个字符space: 光标右移一个字符Backspace: 光标左移一个字符k或Ctrl+p: 光标上移一行j或Ctrl+n: 光标下移一行Enter: 光标下移一行w或W : 光标右移一个字至字首b或B : 光标左移一个字至字首e或E : 光标右移一个字至字尾): 光标移至句尾(: 光标移至句首}: 光标移至段落开头{: 光标移至段落结尾nG: 光标移至第n行首n+: 光标下移n行n-: 光标上移n行n$: 光标移至第n行尾H: 光标移至屏幕顶行M: 光标移至屏幕中间行L: 光标移至屏幕最后行0: 光标移至当前行首$: 光标移至当前行尾屏幕翻滚类命令Ctrl+u: 向文件首翻半屏Ctrl+d: 向文件尾翻半屏Ctrl+f: 向文件尾翻一屏Ctrl+b: 向文件首翻一屏nz: 将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

插入文本类命令i: 在光标前I: 在当前行首a: 光标后A: 在当前行尾o: 在当前行之下新开一行O: 在当前行之上新开一行r: 替换当前字符R: 替换当前字符及其后的字符,直至按ESC键s: 从当前光标位置处开始,以输入的文本替代指定数目的字符S: 删除指定数目的行,并以所输入文本代替之ncw或nCW: 修改指定数目的字nCC: 修改指定数目的行删除命令ndw或ndW: 删除光标处开始及其后的n-1个字do: 删至行首d$: 删至行尾ndd: 删除当前行及其后n-1行x或X: 删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u: 删除输入方式下所输入的文本d l 删除当前字符(与x命令功能相同)d 0 删除到某一行的开始位置d ^ 删除到某一行的第一个字符位置(不包括空格或TA B字符)d w 删除到某个单词的结尾位置d 3 w 删除到第三个单词的结尾位置d b 删除到某个单词的开始位搜索及替换命令/pattern: 从光标开始处向文件尾搜索pattern?pattern: 从光标开始处向文件首搜索patternn: 在同一方向重复上一次搜索命令N: 在反方向上重复上一次搜索命令:s/p1/p2/g: 将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g: 将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g: 将文件中所有p1均用p2替换选项设置all: 列出所有选项设置情况term: 设置终端类型ignorance: 在搜索中忽略大小写list: 显示制表位(Ctrl+I)和行尾标志($)number: 显示行号report: 显示由面向行的命令修改过的数目terse: 显示简短的警告信息warn: 在转到别的文件时若没保存当前文件则显示NO write信息nomagic: 允许在搜索模式中,使用前面不带“”的特殊字符nowrapscan: 禁止vi在搜索到达文件两端时,又从另一端开始mesg: 允许vi显示其他用户用write写到自己终端上的信息最后行方式命令:n1,n2 co n3: 将n1行到n2行之间的内容拷贝到第n3行下:n1,n2 m n3:将n1行到n2行之间的内容移至到第n3行下:n1,n2 d: 将n1行到n2行之间的内容删除:w: 保存当前文件:e filename: 打开文件filename进行编辑:x: 保存当前文件并退出:q: 退出vi:q!: 不保存文件并退出vi:!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号删除寄存器中修改命令操作c l 更改当前字符c w 修改到某个单词的结尾位置c 3 w 修改到第三个单词的结尾位置c b 修改到某个单词的开始位置c W 修改到某个以空格作为分隔符的单词的结尾位置c B 修改到某个以空格作为分隔符的单词的开始位置c 7 B 修改到前面7个以空格作为分隔符的单词的开始位置c 0 修改到某行的结尾位置c)修改到某个语句的结尾位置c 4)修改到第四个语句的结尾位置c(修改到某个语句的开始位置c } 修改到某个段落的结尾位置c { 修改到某个段落的开始位置c 7 { 修改到当前段落起始位置之前的第7个段落位置c tc 修改当前行直到下一个字符c所出现位置之间的内容C 修改到某一行的结尾c c 修改当前行5 c c 修改从当前行所开始的5行内容替换命令操作s 将当前字符替换为一个或多个字符S 将当前行替换为一个或多个字符5 s 将从当前字符开始的5个字符替换为一个或多个字符vi替换使用规则::g/s1/s/s2/s3/g第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换s表示替换,s2是要被替换的字符串,他可以和s1相同(如果相同的话用//代替),s3是替换字符串16.fx往右移动到 x 字符上Fx往左移动到 x 字符上tx往右移动到 x 字符前Tx往左移动到 x 字符后(注意:以上四个命令中,其中x是键入的字符)“;”分号,配合 f 和t 使用,重复一次“,”逗号,配合 f 和t 使用,反方向重复一次17. vi 环境选项 Solaris kshnoautoindent nomodelines noshowmodeautoprint nonumber noslowopennoautowrite nonovice tabstop=8nobeautify nooptimize taglength=0directory=/var/tmp paragraphs=IPLPPPQPP LIpplpipnpbtags=tags /usr/lib/tags noedcompatible prompt tagstacknoerrorbells noreadonly term=vt100noexrc redraw noterseflash remap timeouthardtabs=8 report=5 ttytype=vt100noignorecase scroll=11 warnnolisp sections=NHSHH HUuhsh+c window=23nolist shell=/bin/ksh wrapscanmagic shiftwidth=8 wrapmargin=0mesg noshowmatch nowriteanyFor C-Shell:setenv EXINIT &quot;set nu&quot;For Bourne or Korn Shell:EXINIT=&quot;set nu&quot;&#59; export EXINITFor Korn Shell Only (alternate method):typeset -x EXINIT=&quot;set nu&quot;在 .profile 里设置 vi 的环境选项 , 以上均测试过18.标记文本mchar用字母char标记当前光标的位置`char 移至char所标记处'char移至char标记所在行的开头处&quot;移至当前行上一次所在位置(在光标移动之后)――一个双引号''移至当前行上第一次所在位置的行的开头处(在光标移动之后)――两个单引号19.同时vi多个文件时,CTRL-SHIFT-6回到上一个文件,在本次vi的文件和上次vi的文件之间切换。

但是我发现一个BUG:在用CTRL-SHIFT-6切换到上一个文件后,用:args查看多文件vi状态时,屏幕底部仍然显示目前vi的是刚才的文件。

(在HP-UX,Solaris,AIX上通过)也可以使用: :e#进行切换20.sco 下VI 要在文本前同样的字符加用%s/^/要加的内容/g 要在文本后同样的字符加%s/$/要加的内容/g21.如何去掉文本中的 ^M 硬回车?不必用binary传回去再ascii传回来的方式,用shell或者unix 语句实现。

cat filename |tr -d '\015' >;newfile不同的unix系统还存在一些其他不同的命令,如:doscpsed 也可以实现这个功能.dos2unix filename filename2反之unix2dos filename filename2在vi 中用:$s/^M//g^是crtl-V crtl-M22.如何在“unix命令行”下将一个文件的某字符串用另一个串换掉sed 's/string1/string2/gp' file1 >; file223.将/etc/hosts下所有的地址都ping 2次1 #/usr/bin/sh2 #grad /etc/hosts and ping each address3 cat /etc/hosts|grep -v '^#' | while read LINE4 do5 ADDR=`awk '{print $1}'`6 for MACHINE in $ADDR7 do8 ping $MACHINE -n 29 done10 done。

相关文档
最新文档