vi命令大全
vim编辑器常用命令

vim编辑器常⽤命令vi有3个模式:插⼊模式、命令模式、低⾏模式。
插⼊模式:在此模式下可以输⼊字符,按ESC将回到命令模式。
命令模式:可以移动光标、删除字符等。
低⾏模式:可以保存⽂件、退出vi、设置vi、查找等功能(低⾏模式也可以看作是命令模式⾥的)。
⼀、打开⽂件、保存、关闭⽂件(vi命令模式下使⽤)vi filename //打开filename⽂件:w //保存⽂件:w //保存⾄⽂件:q //退出编辑器,如果⽂件已修改请使⽤下⾯的命令:q! //退出编辑器,且不保存:wq //退出编辑器,且保存⽂件⼆、插⼊⽂本或⾏(vi命令模式下使⽤,执⾏下⾯命令后将进⼊插⼊模式,按ESC键可退出插⼊模式)a //在当前光标位置的右边添加⽂本i //在当前光标位置的左边添加⽂本A //在当前⾏的末尾位置添加⽂本I //在当前⾏的开始处添加⽂本(⾮空字符的⾏⾸)O //在当前⾏的上⾯新建⼀⾏o //在当前⾏的下⾯新建⼀⾏R //替换(覆盖)当前光标位置及后⾯的若⼲⽂本J //合并光标所在⾏及下⼀⾏为⼀⾏(依然在命令模式)三、移动光标(vi命令模式下使⽤)1、使⽤上下左右⽅向键2、命令模式下:h 向左、j 向下、k 向上、l 向右。
空格键向右、Backspace 向左、Enter 移动到下⼀⾏⾸、- 移动到上⼀⾏⾸。
四、删除、恢复字符或⾏(vi命令模式下使⽤)x //删除当前字符nx //删除从光标开始的n个字符dd //删除当前⾏ndd //向下删除当前⾏在内的n⾏u //撤销上⼀步操作U //撤销对当前⾏的所有操作五、搜索(vi命令模式下使⽤)/vpser //向光标下搜索vpser字符串vpser //向光标上搜索vpser字符串n //向下搜索前⼀个搜素动作N //向上搜索前⼀个搜索动作六、跳⾄指定⾏(vi命令模式下使⽤)n+ //向下跳n⾏n- //向上跳n⾏nG //跳到⾏号为n的⾏G //跳⾄⽂件的底部七、设置⾏号(vi命令模式下使⽤):set nu //显⽰⾏号:set nonu //取消显⽰⾏号⼋、复制、粘贴(vi命令模式下使⽤)yy //将当前⾏复制到缓存区,也可以⽤ "ayy 复制,"a 为缓冲区,a也可以替换为a到z的任意字母,可以完成多个复制任务。
linux文件编辑vi的常见操作命令

linux文件编辑vi的常见操作命令vi是一款常用的文本编辑器,在Linux系统中被广泛使用。
下面将介绍vi的常见操作命令,帮助初学者快速掌握vi的基本使用。
1. 打开文件:使用vi命令加上要编辑的文件名,例如`vi filename`。
如果文件不存在,则会创建一个新文件。
2. 保存文件:在正常模式下,按下`:w`命令可以将文件保存。
如果文件是新创建的,需要指定文件名,例如`:w newfilename`。
3. 退出vi:在正常模式下,输入命令`:q`可以退出vi。
如果文件有未保存的修改,vi会提示保存或放弃修改。
如果想强制退出vi,可以使用命令`:q!`。
4. 插入文本:在正常模式下,按下`i`命令可以进入插入模式,在光标位置前插入文本。
按下`a`命令可以在光标位置后插入文本。
按下`o`命令可以在下一行插入新行并进入插入模式。
5. 删除文本:在正常模式下,按下`x`命令可以删除光标所在位置的字符。
按下`dd`命令可以删除整行。
按下`dw`命令可以删除一个词。
按下`d$`命令可以删除光标位置到行尾的内容。
6. 复制和粘贴文本:在正常模式下,按下`yy`命令可以复制整行。
按下`yw`命令可以复制一个词。
按下`p`命令可以粘贴复制的内容。
7. 撤销和重做:在正常模式下,按下`u`命令可以撤销上一步操作。
按下`Ctrl + r`命令可以重做被撤销的操作。
8. 查找和替换:在正常模式下,按下`/text`命令可以向下查找匹配的文本。
按下`?text`命令可以向上查找匹配的文本。
按下`:%s/old/new/g`命令可以替换全文中的old为new。
9. 移动光标:在正常模式下,按下`h`命令可以将光标向左移动一个字符。
按下`j`命令可以将光标向下移动一行。
按下`k`命令可以将光标向上移动一行。
按下`l`命令可以将光标向右移动一个字符。
按下`gg`命令可以将光标移动到文件开头。
按下`G`命令可以将光标移动到文件末尾。
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是Linux系统中一种常用的文本编辑器,它可以通过命令行界面进行操作。
对于初学者来说,掌握一些vi的常用命令是必不可少的。
下面是一些常见的vi命令:
1.打开文件:vi filename
2.保存文件:先按Esc键退出编辑模式,然后输入:wq
3.放弃修改:先按Esc键退出编辑模式,然后输入:q!
4.光标移动:
h:左移一个字符
j:下移一行
k:上移一行
l:右移一个字符
5.删除字符:
x:删除光标所在的字符
dd:删除光标所在的一整行
6.撤销上一步操作:u
7.查找字符:
/char:查找字符char(向下查找)
:查找字符char(向上查找)
n:继续查找下一个匹配项
N:继续查找上一个匹配项
8.替换字符:
:r filename:将filename文件的内容插入到当前光标所在位置 :s/old/new/g:将当前行的old替换为new
:%s/old/new/g:将整个文件中的old替换为new
以上是一些vi的常用命令,掌握了这些命令后,你可以更加方便地使用vi编辑器进行文本编辑。
Vim命令列表

Vim命令列表操纵文件Vim命令动作:e filename 打开一个新文件,可以用TAB键自动补全:w filename 保存更改。
如果不指定文件名,Vim会存为你正在编辑的文件。
如果要存为不同的文件,需要指定文件名:q 退出Vim。
如果有未保存的更改,Vim会拒绝退出。
:q! 强制退出!:wq 写文件并退出:x 几乎和:wq一样,如果你修改了文件,它会写文件并退出。
如果你没有修改文件,Vim会不写文件直接退出。
文件内的移动These Vim commands and keys work both in command mode and visual mode.Vim命令动作j or Up Arrow 向上移动一行k or Down Arrow 向下移动一行l or Right Arrow 向右移动一个字符h or Left Arrow 向左移动一个字符e 移动到一个词(word)尾E 移动到白空格(whitespace)分隔的词尾b 移动到一个词(word)的开头B 移动到白空格(whitespace)分隔的词头0 移动到行首^ 移动到一行的首个非白空格的字符$ 移动到行尾H 移动到屏幕的第一行M 移动到屏幕的中间一行L 移动到屏幕的最后一行:n 跳至屏幕的第n行插入和替换文本Vim命令动作i 在光标之前插入I 在该行行首插入a 在光标之后插入A 在该行行尾插入o 在下一行新建一行并插入O 在上一行新建一行并插入C Change the rest of the current line.r 覆盖一个字符。
在覆盖完成以后,回到命令模式。
R 进入插入模式,但是不再是插入文本,而是覆盖文本。
跟word 里insert键的作用类似ESC 退出插入/改写模式,回到命令模式。
删除文本Vim命令动作x 删除光标后的字符X 删除光标前的字符dd or :d 删除当前行进入可视模式(Visual mode)Vim命令动作v 开始定义高亮字符,用定位键(j or 向下键等)来选择要高亮的文本。
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常用命令整理1、复制多行,并粘贴(命令模式下)1)将光标定位于想开始复制的行,然后输入想要复制的行数:如3,然后输入yy2)定位到需要粘贴到的前一行,输入p2、删除多行(命令模式下)1)将光标定位于想要开始删除的行,然后输入想要删除的行数:如3,然后输入dd说明:其实这个操作是剪切操作,如果需要将刚才删除的行粘贴到另外一个地方,则定位到需要粘贴到的前一行,输入p3、保存退出操作(命令模式下)保存到一个新文件:w filename (输入“w filename”,将文章存入指定的文件名filename)没有修改任何内容,退出:q已修改内容,但不希望保存,强制退出:q!保存并退出命令:x或wqx和wq的区别:wq强制性写入文件并退出。
即使文件没有被修改也强制写入,并更新文件的修改时间。
:x写入文件并退出。
仅当文件被修改时才写入,并更新文件修改时间,否则不会更新文件修改时间。
这两者一般情况下没什么不一样,但是在编程方面,对编辑源文件可能会产生重要影响。
因为文件即使没有修改,":wq"强制更新文件的修改时间,这样会让make编译整个项目时以为文件被修改过了,然后就得重新编译链接生成可执行文件。
这可能会产生让人误解的后果,当然也产生了不必要的系统资源花销。
4、翻页操作向文件尾翻页命令:Ctrl+f 向文件尾翻半页命令:Ctrl+d向文件首翻页命令:Ctrl+b 向文件首翻半页命令:Ctrl+u5、替换光标所在字符命令:r6、行内快数跳转^或0移动到本行行首$移动到本行行尾显示行号和取消行号(末行模式使用)set nu显示行号set nonu取消行号7、在命令模式下,使用以下命令可以快速的在行间跳转1G跳转到文件首行或gg(这个是自己试验出来的)G跳转到尾行(shift+g)#G跳转到文件的#行8、进入输入模式i: 插入,从目前光标所在之处插入所输入的文字。
a: 增加,目前光标所在的下一个字开始输入文字。
vi编辑器常用的命令及快捷键
ttext 在当前行向前查找text,并将光标定位在text的第一个字符
Ttext 在当前行向后查找text,并将光标定位在text的第一个字符
vi的状态
选项 作用
:.= 打印当前行的行号
:= 打印文件中的行数
^g 显示文件名、当前的行号、文件的总行数和文件位置的百分比
E 移到下一个字的结尾,忽略标点符号
( 移到句子的开头
) 移到句子的结尾
{ 移到段落的开头
} 移到下一个段落的开头
x 删除光标处的字符,可以在x前加上需要删除的字符数目
nx 从当前光标处往后删除n个字符
X 删除光标前的字符,可以在X前加上需要删除的字符数目
nX 从当前光标处往前删除n个字符
0或| 移到当前行的第一列
n| 移到当前行的第n列
^ 移到当前行的第一个非空字符
$ 移到当前行的最后一个字符
+或return 移到下一行的第一个字符
B 移到前一个字的开头,忽略标点符号
L 移到屏幕的最后一行
M 移到屏幕的中间一行
H 移到屏幕的第一行
e 移到下一个字的结尾
:set ic 查找时忽略大小写
:set noic 查找时对大小写敏感
:s/oldtext/newtext 用newtext替换oldtext
:m,ns/oldtext/newtext 在m行通过n,用newtext替换oldtext
在vi中复制文本
命令 复制操作
yy 将当前行的内容放入临时缓冲区
nyy 将n行的内容放入临时缓冲区
p 将临时缓冲区中的文本放入光标后
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中,保存并退出的命令有多种,具体如下:
“:wq”:保存文件并退出。
“:q!”:强制退出,不保存文件。
“:x”:保存文件并退出。
“ZZ”:保存文件并退出。
在命令模式中,可以连按两次大写字母Z,若当前编辑的文件曾被修改过,则Vi保存该文件后退出,返回到shell;若当前编辑的文件没被修改过,则Vi直接退出,返回到shell。
此外,还可以通过“:conf q(confirm quit)”命令进行退出选择,若编辑文件有修改,则给出提示进行选择。
在末行模式下,输入命令“:w”可保存当前编辑文件,但并不退出,而是继续等待用户输入命令。
在编辑模式的情况下敲完内容,这个时候就应该保存文件了。
保存文件要按“esc”,这样就会退回vi的命令模式。
以上信息仅供参考,如有需要,建议咨询熟悉vi操作的专业人士。
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
进入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:取出寄存器?中的内容并将其放到光标位置处。
这里?可以是一个字母,也可以是一个数字ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
VI的使用--------------------------------------------------------------------------------一、插入文本┌──┬────────────┐│命令│描述│├──┼────────────┤│i │在当前字符前插入文本│├──┼────────────┤│I │在行首插入文本│├──┼────────────┤│a │在当前字符后添加文本│├──┼────────────┤│A │在行末添加文本│├──┼────────────┤│o │在当前行后面插入一空行│├──┼────────────┤│O │在当前行前面插入一空行│├──┼────────────┤│R │以改写方式输入文本│└──┴────────────┘二、移动光标┌─────┬───────────┐│命令│描述│├─────┼───────────┤│j或下箭头│向下移动一行│├─────┼───────────┤│k或上箭头│向上移动一行│├─────┼───────────┤│h或左箭头│左移一个字符│├─────┼───────────┤│l或右箭头│右移一个字符│├─────┼───────────┤│w │右移一个词│├─────┼───────────┤│W │右移一个以空格分隔的词│├─────┼───────────┤│b │左移一个词│├─────┼───────────┤│B │左移一个以空格分隔的词│├─────┼───────────┤│0 │移到行首││Ctrl-F│向前翻页│├─────┼───────────┤│Ctrl-B│向后翻页│├─────┼───────────┤│nG│到第n行│├─────┼───────────┤│G │到最后一行│└─────┴───────────┘三、替换文本┌─────┬──────┐│命令│描述│├─────┼──────┤│$ │到行尾│├─────┼──────┤│( │到句子的开头│├─────┼──────┤│) │到句子的末尾│├─────┼──────┤│{│到段落的开头│├─────┼──────┤│}│到段落的末尾│└─────┴──────┘四、删除文本┌───┬───────────┐│命令│描述│├───┼───────────┤│r │替换一个字符│├───┼───────────┤│c │修改文本直到按下Esc健│├───┼───────────┤│cw│修改下一个词│├───┼───────────┤│cnw│修改接下来的n个词│└───┴───────────┘五、文本编辑┌──┬──────────────────────┐│命寺│描述│├──┼──────────────────────┤│yy│将一行文本移到缺省缓冲区中│├──┼──────────────────────┤│yn│将下一个词移到缺省缓冲区中│├──┼──────────────────────┤│ynw │将后面的n个词移到缺省缓冲区中│├──┼──────────────────────┤│p │如果缺省缓冲区中包含一行文本,则在当前│││行后面插入一个空行井将缺省缓冲区中的声│││容粘贴到这一行中;如果缺省缓冲区中包含│││多个词,把这些词粘贴到光标的右边.│├──┼──────────────────────┤│P │如果缺省缓冲区中包含一行文本,则正当前│││行前面插入一个空行井将缺省缓冲区中的内│││容粘贴到这一行中;如果缺省缓冲区中包含│││多个词,把这些词粘贴到光标的左边│└──┴──────────────────────┘六、保存退出┌───────────┬───────────────┐│命令│描述│├───────────┼───────────────┤│zz│保存并退出│├───────────┼───────────────┤│:w filename│写入文件│├───────────┼───────────────┤│:W│写入文件│├───────────┼───────────────┤│:x│保存(如果当前文件修改过)并退出│├───────────┼───────────────┤│:q!│不保存文件,直接退出│├───────────┼───────────────┤│:q│退出vi│VI常用技巧VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。
本文旨在介绍VI的一些最常用命令和高级应用技巧。
一、基本命令介绍---- 1.光标命令k、j、h、l——上、下、左、右光标移动命令。
虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。
这4个键正是右手在键盘上放置的基本位置。
nG——跳转命令。
n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告。
w、b——使光标向前或向后跳过一个单词。
---- 2.编辑命令i、a、r——在光标的前、后以及所在处插入字符命令(i=insert、a=append、r=replace)。
cw、dw——改变(置换)/删除光标所在处的单词的命令(c=change、d=delete)。
x、d$、dd——删除一个字符、删除光标所在处到行尾的所有字符以及删除整行的命令。
---- 3.查找命令---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。
---- 4.拷贝复制命令---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。
二、常见问题及应用技巧---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。
---- vi file---- :r /etc/passwd 在打开的文件file中光标所在处读入/etc/passwd---- :%s/:.*//g 删除/etc/passwd中用户名后面的从冒号开始直到行尾的所有部分。