vi 命令大全

合集下载

vim编辑器常用命令

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的任意字母,可以完成多个复制任务。

常用vi命令总结

常用vi命令总结

AIX上对文件进行编辑通常使用vi命令,包括一些linux命令。

1.vi与view的区别vi打开文件后可直接进行编辑;view为以只读方式打开文件,也可以编辑,保存时使用w!保存或x!保存。

-----wq与x区别(wq与x的区别一个是强制写入,一个是当有修改时才写入。

)vi的自动补全:依次按esc键,\键补齐文件名;2.ctrl+z与ctrl+c的区别ctrl+c和ctrl+z都是中断命令,但是他们的作用却不一样.ctrl+c是强制中断程序的执行,而ctrl+z的是将任务中断,但是此任务并没有结束,他仍然在进程中他只是维持挂起的状态,用户可以使用fg/bg操作继续前台或后台的任务,fg命令重新启动前台被中断的任务,bg命令把被中断的任务放在后台执行.例如:当你vi一个文件是,如果需要用shell执行别的操作,但是你又不打算关闭vi,因为你得存盘推出,你可以简单的按下ctrl+z,shell会将vi进程挂起~,当你结束了那个shell操作之后,你可以用fg命令继续vi你的文件.用法:ps -f|grep view 找到对应的进程号fg+进程号即可恢复;3.touch 创建新文件4.mkdir -p 创建多级目录5.move -f 强制移动/重命名6.man 查看帮助7.chmod +x 文件名或chmod 777 文件名(计算方法:我们将rwx看成二进制数,如果有则有1表示,没有则有0表示,那么rwx r-x r- -则可以表示成为:111 101 100 转换为十进制754)8.>> 为重定向追加>为重定向覆盖;9.cat为查看文件内容;10.clear 清空屏幕11.rm + 文件名平时最好用rm -f +文件名;rm -rf 命令尽量不要使用。

12.文件编辑:1)ESC模式下,大写Y为赋值一行,p为粘贴在光标所在行下一行;2)u为回退,AIX中只能回退一次,但linux中可回退多次操作之前;3)到行首的命令为shift+6 ^4)到行尾的命令为shift+4 $5)h j k l分别为左下上右移动光标(默认为1行,前加数字代表几行)6)e单词尾b单词首;M屏幕中间行H屏幕第一行L屏幕最尾行7)ctrl+u为向上翻半页;ctrl+d为向下翻半页;8)ctrl+b为向上翻整页;ctrl+f为向下翻整页;9)编辑单词时,c+w从单词首字母到尾字母变为编辑模式;10)dw为删除整个单词;11)o为从下一行开始插入;12)dd删除一行,前加数字为删几行;可以执行p将删除的行数粘贴在其他位置;13)>> 与<< 命令为缩进命令;14)}段尾{段首;15)s 替换当前字符16)x 删除当前字符;17)d+$ 删除到行尾d+^删除到行首;13.命令行模式:1)wq保存退出;2)w! 文件名表示另存为;3)e 或e! 刷新,将文件刷新至未保存之前的状态;4)/向下查找?向上查找;(n与shift+n)5)G为跳至文件末尾6)[[ 为跳到本函数头]]下一个函数头也可作为跳到文件头用7):! 为跳出文件编辑,在环境中执行如:!pwd8)1,20 d 表删除从第一行到第20行;9)set用法常用:set nu或set number显示行数;set nonu 或set nonumber关闭显示;10)替换::s/p1/p2/g:将当前行中所有p1均用p2替代:n1,n2s/p1/p2/g:将第n1至n2行中所有p1均用p2替代:g/p1/s//p2/g:将文件中所有p1均用p2替换11)从文件内查找含有待查找内容:find ./ -name“文件名(可用*代替)”|xargs grep 待查找内容grep 待查找内容目录/*(当前目录用”./”根目录为” / “)12)diff 文件1 文件2比较文件1与文件2的不同以> <区分可以diff t1 t2 > t3 将不同处输出至文件3中13)同一机器内即同一IP地址的环境下,不同用户间权限允许的情况下可用cp拷贝文件;14)Zjyw本地cd localpathftp命令ftp 对方地址用户名/密码cd 对方路径将本地文件上传对方路径:put获取文件到本地路径下:getpassive(主动模式)一般用二进制流传送文件:bin命令ftp命令内本地路径改变:lcd ~/muluQ:还有什么方法使光标左移一个字符和右移一个字符?除了方向键。

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次。

linux vi用法

linux vi用法

linux vi用法
LinuxVI编辑器是一个非常强大的文本编辑器,通常用于在命令行界面中编辑文本文件。

它不仅可以编辑文本文件,还可以用于编写脚本,记笔记等。

以下是一些常用的Linux VI编辑器用法:
1. 打开文件:在终端中输入vi filename,即可打开一个名为filename的文件。

2. 插入模式:按下i键即可进入插入模式,此时可以开始编辑文本。

3. 保存并退出:按下Esc键,输入:wq即可保存并退出文件。

4. 放弃修改退出:按下Esc键,输入:q!即可放弃修改并退出文件。

5. 查找字符串:在命令模式下输入/字符串,即可查找当前文件中包含该字符串的位置。

6. 替换字符串:在命令模式下输入:s/old/new/g,即可将所有的old替换为new。

7. 删除一行:在命令模式下输入dd即可删除一行。

8. 撤销操作:在命令模式下输入u即可撤销上一次操作。

9. 复制粘贴:在命令模式下将光标移动到需要复制的文本上,按下yy即可复制,将光标移动到需要粘贴的位置,按下p即可粘贴。

总之,Linux VI编辑器是一个非常实用的编辑器,它的功能非常强大,掌握一些基本的用法,可以提高工作效率。

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编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。

由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。

Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

1、vi的基本概念基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:1) 命令行模式(command mode)控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insertmode下,或者到last line mode。

2) 插入模式(Insert mode)只有在Insert mode下,才可以做文字输入,按「ESC」键可回到命令行模式。

3) 底行模式(last line mode)将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last linemode)也算入命令行模式command mode)。

2、vi的基本操作a) 进入vi在系统提示符号输入vi及文件名称后,就进入vi全屏幕编辑画面:$ vi myfile不过有一点要特别注意,就是您进入vi之后,是处于「命令行模式(command mode)」,您要切换到「插入模式(Insert mode)」才能够输入文字。

初次使用vi的人都会想先用上下左右键移动光标,结果电脑一直哔哔叫,把自己气个半死,所以进入vi后,先不要乱动,转换到「插入模式(Insert mode)」再说吧!b) 切换至插入模式(Insert mode)编辑文件在「命令行模式(command mode)」下按一下字母「i」就可以进入「插入模式(Insert mode)」,这时候你就可以开始输入文字了。

vi编辑器常用的命令及快捷键

vi编辑器常用的命令及快捷键
Ftext 在当前行向后查找text
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指令大全

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: 取出寄存器?中的内容并将其放到光标位置处。

Linux 中 V(Vim)常用命令使用说明

Linux 中 V(Vim)常用命令使用说明

Linux 中V(Vim)常用命令使用说明在linux发行版中vi 命令已经软链接到了vim一、vi的三种工作模式:命令模式、末行模式、编辑模式1. 末行模式命令w:(write)保存q:(quit)退出,如果没有保存不允许退出q!:(quit)强行退出,不保存退出wq:(write&quit)保存并退出x:保存并退出:e:(edit)会打开内置浏览器浏览当前目录下的文件,后面加文件名就会打开该文件:n文件名:(new)新建文件:w文件名:(write)另存为,但是仍然编辑当前文件,并不会切换文件二、打开或新建文件说明:打开一个文件,文件不存在则新建一个文件命令:vi 文件名1. 打开文件并且定位行说明:打开一个文件并且定位到指定行数,不指定行数则定位到文件末尾命令:vi 文件名+行数三、常用命令(命令模式下使用)1. 重复次数在命令模式下,先输入一个数字再跟上一个命令,可以让该命令重复执行指定次数。

2. 移动和选择2.1 移动行间移动命令:行内移动命令:行数移动命令:屏幕移动命令:段落移动命令:vi中用空行来区分段落,在程序开发过程中,通常一段功能相关的代码会放到一起(一个段落)。

括号切换命令:标记命令:2.2 选择(可视模式)可视模式下,esc可退出可视模式,还可和移动命令连用,例如ggVG能够选中所有内容。

3. 编辑操作3.1撤销和恢复撤销3.2 删除文本如果使用可视模式已经选中了一段字符,那么使用d或者x都可以删除选中字符。

删除命令可以和移动命令连用,例如3.3 复制粘贴复制粘贴是在一个文本缓冲区,没有使用系统的剪切板,所有用其他软件ctrl + c/x 复制剪切到系统的剪切板,再到vi中p粘贴是不能粘贴系统剪切板的内容的。

如果想将系统剪切板的内容粘贴到vi中,需要进入编辑模式使用ctrl + v才能将内容粘贴。

vi中的删除操作本质上就是剪切,只是没有使用p粘贴。

4. 撤销和重复4.1 缩排和重复5. 查找和替换5.1替换R命令可进入替换模式,替换完后esc退出替换模式进入命令模式替换命令的作用就是在不用进入编辑模式,对文本进行轻量级修改。

vi指令大全

vi指令大全

n !! cmd 执行shell命令cmd。用cmd的输入内容替换从当前行开始的n行文本。n的缺省值是1。如果cmd接收标准输入,则必须用特定的行
【杂项功能点滴】
1. 设置语法高亮显示
在Redhat Linux下需要先安装vim-enhanced,否则syntax on不能用。然后再指令模式下执行
/pattern 移至下一个包含pattern的行
?pattern 移至上一个包含pattern的行
/ 往下重复查找
? 往上重复查找
n 在同一方向重复查找
N 在相反方向重复查找
/pattern/+n 移至下一个pattern所在行后的第n行
?pattern?-n 移至上一个Pattern所在行前的第n行
六个字开始处等等
dd 删除光标所在的行
r 修改光标所在字符,r 后接着要修改的字符
R 进入取代状态,新增内容会覆盖原先内容,直到按 [ESC] 回到指令模式下止
s 删除光标所在字符,并进入输入模式
S 删除光标所在的列,并进入输入模式
u 撤消最近一次对文本的改动。标准版的vi只能执行一级撤消,而vim则可以多级
/pattern/z- 重绘屏幕,使下一个包含pattern的行位于屏幕的最底行
% 移至与光标所在的括弧匹配成对的圆括弧或大括弧
【标记文本】
也可以将某段文本标记起来,方便以后跳转
mchar 用字母char标记当前光标的位置
`char 移至char所标记处
'char 移至char标记所在行的开头处
【指令组成】
现在可以提一下vi的指令组成。上面也看到了,很多指令都是控制键和数字等结合起来控制的。没错!其中很多大致是由指令与范围所构成。例如 dw 是由删除指 d 与范围 w 所组

vi常用指令

vi常用指令

vi常用指令VI是一款非常实用的文本编辑器。

它经常被用于程序编写、文件编辑等方面。

VI的操作比较简单,只要掌握几个常用的指令,就可以轻松完成许多工作。

本文将会介绍VI的常用指令,帮助读者更好地使用VI。

一、VI的三种模式VI有三种模式:命令模式、插入模式和底行模式。

在命令模式下,我们可以用各种命令对文本进行编辑。

在插入模式下,我们可以直接输入文本。

在底行模式下,我们可以执行一些特定的命令,如保存文件、退出VI等。

二、进入/退出VI进入VI的方法有两种:一个是使用命令vi,另一个是使用命令vim。

两者的效果是一样的,只是vi是VIM的简称。

退出VI的方法有两种:一个是在命令模式下输入命令:wq!表示保存并退出;另一个是在命令模式下输入命令:q!表示不保存并退出。

三、命令模式下的常用指令1.移动光标:我们可以使用h、j、k、l命令将光标左移、下移、上移、右移。

2.插入文本:在命令模式下,我们可以按下i、a、o等指令,进入插入模式,开始编辑文本。

3.删除文本:我们可以使用命令x、dd等来删除文本。

其中x命令会删除光标所在位置的一个字符,而dd命令可以删除一整行。

4.复制/粘贴文本:我们可以使用命令y、p等来复制/粘贴文本。

其中y命令会复制选定的文本,而p命令会将文本粘贴到光标下方。

5.替换文字:我们可以使用命令:s/old/new/g,将old替换为new,其中g表示全局匹配。

6.查找替换:我们可以使用命令:%s/old/new/gc,将old替换为new,其中gc表示全局匹配并要求确认。

四、底行模式下的常用指令1.保存文件:我们可以在命令模式下输入命令:w,保存当前的编辑内容。

2.查找文本:我们可以在命令模式下输入命令:/text,用于查找text。

按下n可以继续查找下一个匹配项。

3.退出VI:我们可以在命令模式下输入命令:q,表示退出VI。

4.保存并退出VI:我们可以在命令模式下输入命令:wq,用于保存当前的编辑内容并退出VI。

vi编辑器的用法

vi编辑器的用法

vi编辑器的用法
Vi编辑器是一款文本编辑器,用于在终端进行编辑。

以下是
Vi编辑器的基本用法:
1. 打开文件:在终端中输入`vi 文件名`,其中文件名是要编辑
的文件的名称。

如果文件不存在,则会创建一个新文件。

2. 切换模式:Vi编辑器有三种模式:命令模式、插入模式和
底线命令模式。

默认进入命令模式,按下`i`键进入插入模式,按下`Esc`键回到命令模式。

3. 命令模式:在命令模式下,可以执行各种编辑操作,如删除、复制、粘贴等。

以下是一些常用命令:
- `x`:删除光标所在位置的字符。

- `dd`:删除光标所在行。

- `yy`:复制光标所在行。

- `p`:粘贴复制的内容。

- `u`:撤销上一次操作。

- `:q`:退出Vi编辑器。

- `:w`:保存文件。

4. 插入模式:在插入模式下,可以输入文本内容。

按下`i`键进入插入模式,在光标所在位置进行编辑。

5. 底线命令模式:在命令模式下,按下`:`键进入底线命令模式。

可以执行一些高级命令,如保存文件、查找替换等。

- `:w`:保存文件。

- `:q`:退出Vi编辑器。

- `:wq`:保存并退出Vi编辑器。

- `:s/old/new/g`:查找所有匹配的`old`字符串,并替换为
`new`字符串。

这些是Vi编辑器的基本用法,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命令大全

移动光标h将光标左移一格l将光标右移一格。

k或Ctrl+p光标上移一行j或Ctrl+n光标下移一行w将光标移到下一个小字的前面。

W将光标移到下一个大字的前面。

b将光标移到前一个小字的前面。

B将光标移到前一个大字的前面。

e将光标移到下一个小字的后面。

E将光标移到前一个大字的后面。

fc把光标移到同一行的下一个c字符处。

Fc把光标移到同一行的前一个c字符处。

tc把光标移到同一行的下一个字符c的前一格。

Tc把光标移到同一行的前一个字符c的后一格。

number|把光标移到递number列上。

+或Enter把光标移至下一行第一个非空白字符。

-把光标移至上一行第一个非空白字符。

)光标移至句尾(光标移至句首}光标移至段落开头{光标移至段落结尾nG光标移至第n行首n+光标下移n行n-光标上移n行n$光标移至第n行尾H把光标移到屏幕最顶端一行。

M光标移至屏幕中间行L光标移至屏幕最后行0(注意是数字零)光标移至当前行首$光标移至当前行尾space字符光标右移一个字符屏幕翻滚Ctrl+f向后滚一页。

Ctrl+d向后滚半页。

Ctrl+b向前滚一页。

Ctrl+u向前滚半页。

Ctrl+e屏幕向下滚一行。

Ctrl+y屏幕项上滚一行。

nz将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。

"?nyl字符保存到寄存器?中,其中?为一个字母,n为一个数字将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字插入文本i在光标前I在当前行首a光标后A在当前行尾o在当前行之下新开一行O在当前行之上新开一行r字符替换当前字符R字符及其后的字符,直至按ESC键替换当前字符及其后的字符,直至按ESC键s字符从当前光标位置处开始,以输入的文本替代指定数目的字符S删除指定数目的行,并以所输入文本代替之ncw或nCW修改指定数目的字nCC修改指定数目的行修改ndw或ndW删除光标处开始及其后的n-1个字do删至行首d$删至行尾ndd删除当前行及其后n-1行x或X字符,x删除光标后的,而X删除光标前的删除一个字符,x删除光标后的,而X删除光标前的Ctrl+u删除输入方式下所输入的文本cc或S修改一整行。

写出linuxvi编辑文档的几个常用命令

写出linuxvi编辑文档的几个常用命令

写出linuxvi编辑文档的几个常用命令Linux vi 是一款强大的文本编辑器,是Linux系统中最常用的文本编辑器之一。

在使用vi编辑器时,有一些常用命令是必须掌握的,下面将介绍几个常用的vi命令。

1. 光标移动命令在vi编辑器中,我们需要经常移动光标来定位到需要编辑的位置。

以下是一些常用的光标移动命令:- h:向左移动一个字符- j:向下移动一行- k:向上移动一行- l:向右移动一个字符- 0:移动到行首- $:移动到行尾- gg:移动到文件的第一行- G:移动到文件的最后一行2. 插入和编辑命令在vi编辑器中,我们可以使用插入和编辑命令来输入和修改文本内容。

以下是一些常用的插入和编辑命令:- i:在当前光标位置前插入文本- a:在当前光标位置后插入文本- o:在当前行的下方插入新行并进入插入模式- x:删除当前光标所在位置的字符- dd:删除当前行- yy:复制当前行- p:粘贴复制的内容3. 保存和退出命令在编辑文档时,我们需要保存修改的内容并退出vi编辑器。

以下是一些常用的保存和退出命令:- :w:保存修改的内容,但不退出vi编辑器- :q:退出vi编辑器- :wq:保存修改的内容并退出vi编辑器- :q!:放弃修改的内容并强制退出vi编辑器4. 查找和替换命令当我们在编辑长文档时,经常需要查找和替换特定的文本。

以下是一些常用的查找和替换命令:- /pattern:在文档中向下查找指定的模式- ?pattern:在文档中向上查找指定的模式- n:继续查找下一个匹配项- :s/old/new/:将当前行第一个匹配到的old替换为new- :s/old/new/g:将当前行所有匹配到的old替换为new- :%s/old/new/g:将整个文档中所有匹配到的old替换为new5. 撤销和重做命令在编辑文档过程中,我们可能会犯一些错误,需要撤销前面的操作或者重做已经撤销的操作。

以下是一些常用的撤销和重做命令:- u:撤销前一次操作- Ctrl + r:重做上一次撤销的操作这些是在使用vi编辑器时经常使用的一些常用命令。

vi 命令

vi 命令

a,A:a为从当前光标所在的下一个字符开始插入,A为从光标所在行的 最后一个字符处开始插入
o,O:这是英文字母o的大小写,o为在当前光标所在的下一行插入新的 一行,O为在当前光标所在处的上一行插入新的一行。
r,R:替换:r为替换光标所在的那一个字符;R会一直替换光标所在的 文字,直到安下【Esc】键为止。
末行模式:在命令模式下,按【:】键可以进入末行模式,Vi光标会显示在窗口的最后一行,以“:”作为末行模式的提示符,等待用户输入命令。末行命令执行后,Vi自动回到命令模式。
Vi命令大全
1、移动光标
h或者向左方向键:光标向左移动一个字符
l或者向右方向键:光标向右移动一个字符
k或者向上方向键:光标向上移动一个字符
:wq! 保存并退出
:wq! filename 以filename为文件名保存后退出
:q! 不保存退出
:x 保存并退出,功能和:wq!相同
Vi的工作模式
Vi有三种工作模式,分别为:命令模式、插入模式(编辑模式)和末行模式,三种模式分别进行不同的操作,它们之间可以进行切换。
Vi简介
Vi是一种广泛存在于各种UNIX和Linux系统中的文本编辑程序。
Vi不是排版程序,只是一个纯粹的文本编辑程序。
Vi是全屏幕文本编辑器,它没有菜单,只有命令。
Vi不是基于窗口的,所以,这个多用途编辑程序可以用于在任何类型的终端上编辑各式各样的文件。
Vi的功能十分强大,但是命令繁多,熟练掌握起来有一定难度。
j或者向下方向键:光标向下移动一个字符
【Ctrl】+f: 屏幕“向下”移动一页,相当于【PageDown】
【Ctrl】+b: 屏幕“向上”移动一页,相当于【PageUp】

vi命令大全

vi命令大全

xp
交换两个字符位置
ddp
上下两行调换
J
上下两行合并
dG
删除所有行
d$
从当前位置删除到行尾
y$
从当前位置复制到行尾, 如果要粘贴到其他地方 p 就可以了
,
逗号,配合 f 和 t 使用,反方向重复一次
[此贴子已经被作者于2005-6-17 12:08:19编辑过]
--------------------------------------------------------------------------------
本文由 justice61 发表,justice61 与斗斗体闲论坛享有相关权利;
d } 删除到某个段落的结尾位置
d { 删除到某个段落的开始位置
d 7 { 删除到当前段落起始位置之前的第7个段落位置
d d 删除当前行
d /t e x t 删除从文本中出现“ t e x t”中所指定字样的位置,一直向前直到下一个该字样所出现的
位置(但不包括该字样)之间的内容
替换命令操作
s 将当前字符替换为一个或多个字符
S 将当前行替换为一个或多个字符
5 s 将从当前字符开始的5个字符替换为一个或多个字符
下载
vi替换使用规则:
:g/s1/s/s2/s3/g
第一个g表示对每一个包括s1的行都进行替换,第二个g表示对每一行包括s1的行所有的s2都用s3替换
折行
:set wrapmargin=4
vi加密不同的unix可能不同.
俺在HP-UX下,用X加密的文件只输key(密钥).
vi -C 文件名,便会要求输入密钥,如正确,便打开了.

Vi的编辑命令

Vi的编辑命令

Vi的编辑命令Unix及其相似的操作系统中,为方便各种用户在各个不同的环境中使用,提供了一系列的编辑器,包括ex,edit,ed和vi,其中ex,edit,ed都是行编辑器,现在已很少有人使用,vi是linux中的全屏幕编辑器,其地位如同dos中的edit一样,它可以执行输出、删除、查找、替换、块操作等众多文本操作,它是一个文本编辑程序.Red hat Linux9中提供的是vim,vi是vim的一个符号链接.(8)vi的进入和退出建立新文件:输入命令vi,然后输入内容,最后存盘退出,给出文件名,使用命令:“:wq 文件名”输入命令“vi 文件名”,然后编辑内容,最后存盘退出编辑文件:输入命令“vi 文件名”,此文件已存在,编辑后存盘退出退出命令:存盘退出“:wq”,不存盘退出“:q”注意:vi有两种模式:指令模式和编辑模式,进入后为指令模式,此时输入相关编辑命令,即进入编辑模式,编辑完后按Esc即回到指令模式.(8)进入输入模式、删除和修改指令模式指令:a――从光标所在位置后面开始输入新文本A――从光标所在行的行尾开始输入新的文本i――从光标所在位置前面开始插入数据I――从光标行的第一个非空格字符前面开始插入文本o――在光标所在行下新增一行并进入输入模式O――在光标所在行上方新增一行并进入输入模式删除与修改:x――删除光标处的一个字符dd――删除光标所在行r――修改光标所在字符,r后接着要修正的字符R――进入替代状态,输入的文本会覆盖原来的数据s――删除光标所在字符,并进入输入模式S――删除光标所在的行,并进入输入模式(8)光标的移动光标除可以用方向键进行光标逐字符的移动外,同方向键等同的光标移动命令为h――左移一列, l――右移一列k――上移一列, j――下移一列,如果要快速移动光标,可以在移动命令前加数字,如:3j,6k,10l,3h以单词为单位进行移动:w――将光标移动到下一个单词的开头b――将光标向后移动到一个单词的开头,与w功能相反e――将光标移到下一个单词的末尾最后一个字符处可以在这些命令前加上数字,使光标进行多个单词的移动行内光标的快速移动:$――将光标移动到当前行的行末0――将光标移动到当前行的行首n|――将光标移动到当前行的第n个字符上fm――将光标移动到文本的下一个字符m上使用行号定位::set number――使编辑器显示行号:set nonumber――使编辑器不显示行号nG――将光标移动到第n行G――将光标移动到最后一行:n回车――将光标移动到第n行:$回车――将光标移动到文件的最后一行将光标移动到当前屏幕的某些位置:L――将光标移动到屏幕的最下面一行M――将光标移动到屏幕的中间一行H――将光标移动到屏幕的最上面一行将光标返回到原来位置:‘’――两个单引号,即击单引号两次,用于在一处进行修改后要返回原来的位置让屏幕显示文件的指定位置翻屏: ctrl+d――屏幕定位到文件的下半屏文本ctrl+u――屏幕定位到文件的上半屏文本ctrl+f――屏幕定位到文件的下一屏文本ctrl+b――屏幕定位到文件的上一屏文本(8)字符的查找从文件头向文件尾查找字符串:/字符串回车从文件头向文件尾查找下一个指定字符串: n 从文件尾向文件头反向查找字符串: 字符串回车从文件尾向文件头反向查找下一个指定字符串: N(8)文本的删除命令删除字符: x――删除光标处的一个字符3x――删除从光标开始的3个字符删除行: dd——删除当前行,光标移到下一行,并成为当前行10dd――删除当前行开始的10行,光标移到下一行,并成为当前行删除单词: dw——删除光标处的一个单词,也可以使用数字来扩充该命令注意:如果将光标定位在一个单词的中间某个字符上,使用dw 命令后,vi将删除从光标开始和空格字符结束的所有字符在vi中,所有除空格以外的非字母数字字符,都将视为一个单词.如果当前行的当前光标到行末的单词数不够删除时,vi将删除下一行的单词.删除一行的一部分内容: D――将光标置于一行的中间,输入D,则将删除从光标开始到行末的所有文字.不是整行删除光标至某一个字符之间的文本:dfm——该命令删除从光标到第一个m之间的所有文本包括光标处字母和字母m使用行号删除文本行: :5d——删除第5行的文本:5,10d——删除第5至10行的文本:3dd——删除从光标开始的3行内容:10,$d——删除从第10行开始到行末的内容6文本添加命令:i——在光标的左侧添加文本a——在光标的右侧添加文本I——将光标移到当前的行首,并切换到添加模式A——将光标移到当前的行尾,并切换到添加模式O--在光标的上方插入一个新行o——在光标的下方插入一个新行7撤消和重复命令对于Vi来说,它只能撤消最后一次操作,而vim是它的增强,因此它可以进行多次撤消.撤消命令: u--撤消最后一次修改U——撤消对当前行的所有修改,前提是光标没有移出当前行重复命令:.——英语的点命令“.”,它可以重复执行最后一次文本修改命令.(8)vi的替换命令文本替换命令:①替换字符: r——输入r后,不用切换到编辑模式,紧接着输入你用于替换的字符②逐字符替换文本: R——可以逐字符替换光标后面的文本③多个字符替换单个字符: s——实现删除光标处的一个字符,然后可以插入多个字符,相当于光标后添加,不会替换后面的字符④多个单词替换单个单词: cw——可以删除光标处的一个单词,并进入添加模式.⑤行替换: cc--删除当前行的所有字符,然后切换到插入模式.⑥修改行的剩余部分: C——删除从光标开始到行末的所有字符,进入添加模式删除和替换命令的对照命令类型删除替换字符x r单词dw cw行dd cc从光标到行尾之间的部分D C从光标到字符m之间的部分dfm cfm全局替换命令:①搜索当前行的第一个实例: :s——查找和替换命令:s/字符串——查找文本中的所有字符串:s/字符串1/字符串2——在文本中搜索字符串1,并将光标所在行的第一个字符串1替换成字符串2②搜索指定范围内的第一个实例::1,10s/字符串1/字符串2——搜索第1至10行,将每行内的第一个字符串1替换成字符串2③设置过滤条件进行搜索: :g/过滤条件/s/字符串1/字符串2——将文本内符合过滤条件的行的第一个字符串1替换成字符串2④在同一行中替换所有实例: :s/字符串1/字符串2/g――将光标所在行的所有字符串1替换成字符串2 :1,$s/字符串1/字符串2g ——将全文范围内所有行的字符串1替换成字串2注意:前面1-3命令都只能搜索和替换第一个实例,命令4因为加了参数g,它在末尾,可以替换范围内的所有实例9 移动和复制文本复制是指先将要复制的文本复制到缓冲区,再使用粘贴命令进行粘贴.复制和粘贴行: yy――将光标所在行复制到缓冲区p――将缓冲区的内容粘贴到光标所在位置,可以多次使用p命令将缓冲区内的文本进行粘贴到目标位置P——将复制的行粘贴到光标位置的上一行,而p命令是将复制的行粘贴到光标位置的下一行,总之这两个命令都不会粘到光标当前行剪切和粘贴行: 当删除文本行之后,相当于执行了“剪切”命令,然后再使用p或P命令进行文本粘贴复制字符和单词: yw——复制从当前光标到该单词结束的文字到缓冲区yl——复制当前光标处所在的一个字符到缓冲区yfm——复制当前光标处到第一个字符m处的文字到缓冲区包括m复制文本块: :行号,行号 copy 行号——将第一到第二行的文本复制到第三个行号指定行的后面将文本块复制到第三行号指定行的下面移动文本块: :行号,行号 move 行号——将第一到第二行的文本移动到第三个行号指定行的后面将文本块复制到第三行号指定行的下面注意:在文本块的复制和移动命令中,“.”表示当前行,“$”表示文件尾,“0”表示文件头.10 文件保存命令Vi不仅提供了文件存盘命令,用户也可以使用vi的放弃文件保存命令,或者在已有的文件尾添加内容的命令①保存对文件的修改不退出: :w②保存对文件的修改后退出编辑器::wq③保存新版本文件另存为: :w 文件名——将当前文件另存为文件名所指定的副本④取消对文件的修改: :q或者:q⑤保存文本块: :行号,行号 write 文件名――将指定范围内的文本块保存到一个新文件中,命名为指定的文件名注意:如果要保存到的新文件已存在,要进行覆盖,可在命令后加一个叹号“”⑥向文件追加文本: :行号,行号 write >>文件名――将文本块追加到一个文件的末尾.11vi编辑器和shell的交互①读入文本文件:在编辑文件时,经常需要读入另外一个文件的内容.格式: :行号 read 文件名――将指定的文件的内容读入到当前vi编辑器指定行号的下面②在vi中运行子shell:格式: :命令——在编辑中运行“”后指定的命令,将结果显示在vi中,按回车键后清屏,不影响原来的编辑③读入shell命令行的输出:前面的命令将结果输出到屏幕上,并不影响当前被编辑的文件,也可以将shell命令的输出读入到当前被编辑的文件中.格式: :行号 read 命令——将“”后的命令执行,将结果读入到指定的行后面。

viubuntu中vi用法

viubuntu中vi用法

在Ubuntu中,vi是一个常用的文本编辑器,它有许多命令和功能。

以下是一些基本的vi命令:1. 打开文件:在终端中输入“vi 文件名”并按回车键,可以打开指定的文件。

2. 进入插入模式:在命令模式下,按“i”键可以进入插入模式,此时可以输入文本。

3. 退出插入模式:在插入模式下,按“Esc”键可以退出插入模式,返回到命令模式。

4. 移动光标:在命令模式下,可以使用以下命令移动光标:* h:向左移动光标* j:向下移动光标* k:向上移动光标* l:向右移动光标5. 删除文本:在命令模式下,可以使用以下命令删除文本:* x:删除当前字符* dd:删除当前行* dk:删除光标上方的字符* dl:删除光标下方的字符6. 复制和粘贴文本:在命令模式下,可以使用以下命令复制和粘贴文本:* yy:复制当前行* yk:复制光标上方的字符* yl:复制光标下方的字符* p:粘贴文本到当前光标位置7. 查找和替换文本:在命令模式下,可以使用以下命令查找和替换文本:* /:查找指定字符串* n:向下继续查找* N:向上继续查找* :s/原字符串/新字符串/g:在指定范围内将原字符串替换为新字符串8. 保存和退出vi:在命令模式下,可以使用以下命令保存和退出vi:* :w:保存文件但不退出vi* :wq:保存文件并退出vi* :q:退出vi(如果文件未保存,则无效)* :q!:强制退出vi并保存修改过的部分9. 设置编辑环境:在底行模式(last line mode)中,可以使用以下命令设置编辑环境:* :set number/nonumber:设置显示行号或不显示行号10. 其他常用命令:在命令模式下,还有一些其他常用命令,如复制剪切命令、光标命令等。

具体使用方法可以参考vi的帮助文档或在线教程。

vi常用命令集锦

vi常用命令集锦

vi常⽤命令集锦vi编辑器有3种模式:命令模式、输⼊模式、末⾏模式。

掌握这三种模式⼗分重要: 命令模式:vi启动后默认进⼊的是命令模式,从这个模式使⽤命令可以切换到另外两种模式,同时⽆论在任何模式下只要按⼀下[Esc]键都可以返回命令模式。

在命令模式中输⼊字幕“i”就可以进⼊vi的输⼊模式编辑⽂件。

输⼊模式:在这个模式中我们可以编辑、修改、输⼊等编辑⼯作,在编辑器最后⼀⾏显⽰⼀个“--INSERT--”标志着vi进⼊了输⼊模式。

当我们完成修改输⼊等操作的时候我们需要保存⽂件,这时我们需要先返回命令模式,在进⼊末⾏模式保存。

末⾏模式:在命令模式输⼊“:”即可进⼊该模式,在末⾏模式中有好多好⽤的命令。

vim整理alias vi='vim'1)⽂件的打开与关闭vi filename : 打开或新建⽂件,并将光标置于第⼀⾏⾏⾸vi +n filename : 打开⽂件,并将光标置于第n⾏⾏⾸vi + filename : 打开⽂件,并将光标置于最后⼀⾏⾏⾸vi +/pattern filename: 打开⽂件,并将光标置于第⼀个与pattern匹配的串处vi -r filename : 在上次正⽤vi编辑时发⽣系统崩溃,恢复filenamevi filename...filename :打开多个⽂件,依次进⾏编辑:e filename : 打开filename编辑,编辑完后可⽤:hide退回之前编辑的⽂件:sav filename : 将当前⽂件另存为filename:w : 保存⽂件但不退出vi:w file : 将⽂件另存为file但不退出vi:wq或ZZ或:x : 保存⽂件并退出vi:q! : 不保存⽂件,退出vi:e : 放弃所有修改,从上次保存⽂件开始再编辑(重新载⼊⽂件,包含被其它编辑器修改过的):e! : 放弃所有修改,从上次保存⽂件开始再编辑:hide : 隐藏当前编辑的⽂件,回到上⼀次编辑的⽂件(在打开多⽂件时有效):b 2 : 在当前窗⼝切换到第⼆个打开的⽂件^w^w : 多窗⼝切换2)光标控制与屏幕调整h或^h : 将光标向左移⼀个字符j或^j或^n : 将光标向下移⼀⾏k或^p : 将光标向上移⼀⾏l或空格 : 将光标向右移⼀个字符0或| : 将光标移到当前⾏的第⼀列n| : 将光标移到当前⾏的第n列^ : 将光标移到当前⾏的第⼀个⾮空字符$ : 将光标移到当前⾏的最后⼀个字符n$ : 将光标移到当前⾏下第n-1⾏的最后⼀个字符+或return : 将光标移到下⼀⾏的第⼀个字符- : 将光标移到前⼀⾏的第⼀个⾮空字符gg : 将光标移动到⽂件第⼀⾏G : 将光标移到⽂件的最后⼀⾏nG或ngg或:n : 将光标移到⽂件的第n⾏w : 将光标移到下⼀个字的开头W : 将光标移到下⼀个字的开头,忽略标点符号b : 将光标移到前⼀个字的开头B : 将光标移到前⼀个字的开头,忽略标点符号e : 将光标移到下⼀个字的结尾E : 将光标移到下⼀个字的结尾,忽略标点符号L : 将光标移到屏幕的最后⼀⾏M : 将光标移到屏幕的中间⼀⾏H : 将光标移到屏幕的第⼀⾏H : 将光标移动到屏幕的顶⾏nH : 将光标移动到屏幕顶⾏下的第n⾏M : 将光标移动到屏幕的中间L : 将光标移动到屏幕的底⾏nL : 将光标移动到屏幕底⾏上的第n⾏( : 将光标移动到句⼦的开头) : 将光标移动到句⼦的结尾{ : 将光标移动到段落的开头} : 将光标移动到段落的结尾[[ : 将光标移动到函数(段落)开始处]] : 将光标移动到函数(段落)结尾处[{ : 将光标移动到块开始处}] : 将光标移动到块结束处m(a-z) : ⽤⼀个字母来标记当前位置,如⽤mz表⽰标记z'(a-z) : 将光标移动到指定的标记,如⽤'z表⽰移动到标记z处'' : 两个单引号,将光标移动到最近标记的位置`` : 两个反引号(Tab键上⾯那个),将光标移动到光标前⼀次停留的位置^e : 将屏幕上滚⼀⾏^y : 将屏幕下滚⼀⾏^u : 将屏幕上滚半页^d : 将屏幕下滚半页^b : 将屏幕上滚⼀页^f : 将屏幕下滚⼀页^l : 重绘屏幕z-return : 将当前⾏置为屏幕的顶⾏nz-return : 将当前⾏下的第n⾏置为屏幕的顶⾏z. : 将当前⾏置为屏幕的中央nz. : 将当前⾏上的第n⾏置为屏幕的中央z- : 将当前⾏置为屏幕的底⾏nz- : 将当前⾏上的第n⾏置为屏幕的底⾏3)插⼊⽂本a : 在光标后插⼊⽂本A : 在当前⾏尾插⼊⽂本i : 在光标前插⼊⽂本I : 在当前⾏前插⼊⽂本o : 在当前⾏的下边插⼊新⾏O : 在当前⾏的上边插⼊新⾏escape(Esc) : 回到命令模式^v : 切换到visual block模式,此时通过⽅向键选中block, 再按I,然后输⼊需要插⼊的字符,可以在选中块⾏⾸插⼊字符(同理可以将I换为X删除字符).4)修改⽂本rchar : ⽤char替换当前字符(r,即replace当前光标选中字符)Rtext escape : ⽤text替换当前字符直到换下Esc键(R,即进⼊Replace模式)stext escape : ⽤text代替当前字符(s,即删除当前光标选中字符,并进⼊插⼊状态)S或cctext escape : ⽤text代替整⾏(S,即删除当前光标选中⾏,并进⼊插⼊状态)cwtext escape : 将当前字改为text(cw,即删除当前光标后⼀个字,并进⼊插⼊状态)Ctext escape : 将当前⾏余下的改为text(C,即删除当前光标后字符直到⾏尾,并进⼊插⼊状态)cG escape : 修改⾄⽂件的末尾(cG,即删除当前光标后字符直到⽂件结束,并进⼊插⼊状态)ncw或cnw : 修改指定数⽬的字 (cnw,即删除当前光标后n个字符,并进⼊插⼊状态)nC : 修改指定数⽬的⾏ (nC,即删除当前光标后字符直到⾏尾,并删除之后的n-1⾏,并进⼊插⼊状态) ccursor_cmd text escape : 从当前位置处到光标命令位置处都改为text,如假设光标停留在u第10⾏,c5G text escape,即删除第5⾏到第10⾏,并进⼊插⼊状态,输⼊text,直到escape底⾏命令:n1,n2 co n3 : 将n1⾏到n2⾏之间的内容拷贝到第n3⾏下:n1,n2 m n3 : 将n1⾏到n2⾏之间的内容移⾄到第n3⾏下:n1,n2 d : 将n1⾏到n2⾏之间的内容删除:!command : 执⾏shell命令command:n1,n2 w!command : 将⽂件中n1⾏⾄n2⾏的内容作为command的输⼊并执⾏command:w!command : 将⽂件中的内容作为command的输⼊并执⾏之:r!command : 将命令command的输出结果放到当前⾏:1,10 w outfile : 保存⽂件第1⾏到第10⾏到outfile:1,10 w >> outfile : 将⽂件第1⾏到第10⾏追加到outfile⽂件结尾:r infile : 读取infile到当前光标下⼀⾏:nr infile : 读取infile到当前光标第n⾏的下⼀⾏J : 将下⼀⾏连接到当前⾏的末尾nJ : 连接后⾯n⾏5)删除⽂本x : 删除光标处的字符,可以在x前加上需要删除的字符数⽬nx : 从当前光标处往后删除n个字符X : 删除光标前的字符,可以在X前加上需要删除的字符数⽬nX : 从当前光标处往前删除n个字符dw : 删⾄下⼀个字的开头ndw : 从当前光标处往后删除n个字dG : 删除字符直到⽂件结束dd : 删除当前⾏ndd : 从当前⾏开始往后删除n⾏db : 删除光标前⾯的字ndb : 从当前⾏开始往前删除n字:n,md : 从第n⾏开始删除到第m⾏d$ : 从光标处删除到⾏尾dcursor_command : 删除⾄光标命令处,如dG将从当产胆⾏删除⾄⽂件的末尾dh : 删除光标前⼀个字符dl : 删除光标选中的那个字符dj : 删除光标选中⾏及下⼀⾏dk : 删除光标选中⾏及上⼀⾏dH : 从屏幕顶端删除⾄光标处dM : 删除屏幕中央⾏于光标之间的内容dL : 从光标处删除⾄屏幕末尾dk : 删除光标选中⾏及上⼀⾏dH : 从屏幕顶端删除⾄光标处^h或backspace : 删除前⾯的字符(插⼊状态下)^w : 删除前⾯的字(插⼊状态下)6)查找与替换:set ic : 查找时忽略⼤⼩写(ignorecase):set noic : 查找时对⼤⼩写敏感/text : 在⽂件中向前查找texttext : 在⽂件中向后查找text* : 在⽂件中向前查找当前光标选中的字n : 在同⼀⽅向重复查找N : 在相反⽅向重复查找fchar : 在当前⾏向前查找charFchar : 在当前⾏向后查找chartchar : 在当前⾏向前查找char,并将光标定位在text的第⼀个字符Tchar : 在当前⾏向后查找char,并将光标定位在text的第⼀个字符/\cstring : 查找STRING或string,⼤⼩写不敏感/jo[ha]n : 查找john或joan/\< the : 查找the,theatre或then等the开头的单词/the\> : 查找the或breathe等the结尾的单词/\< the\> : 查找 the(空格后紧跟the)/fred\|joe : 查找fred或joe/\<\d\d\d\d\> : 查找4个字符的单词/^\n\{3} : 查找连续3个空⾏:bufdo /searchstr/ : 在所有打开⽂件中查找bufdo %s/some/someelse/g : 在所有打开⽂件中查找some并⽤someelse代替& 重复最后的:s命令:g/text/command : 在所有包含text的⾏运⾏command所表⽰的命令:v/text/command : 在所有不包含text的⾏运⾏command所表⽰的命令:g/string/d : 删除所有包含string的⾏:v/string/d : 删除所有不包含string的⾏:g/text1/s/text2/text3 : 查找包含text1的⾏,⽤text3替换text2:v/text1/s/text2/text3 : 查找不包含text1的⾏,⽤text3替换text2:%s/old/new/g : 将⽂件中所有old替换为new(⼤⼩写敏感):%s/onward/forward/gi : 将⽂件中所有onward替换为forward(忽略⼤⼩写):%s/old/new/gc : 将⽂件中所有old替换为new,替换前需确认:%s/^/hello/g : 将⽂件中所有开头替换为hello:%s/$/Harry/g : 将⽂件中所有结尾替换为Harry:%s/ *$//g : 删除所有空格:%s/Bill/Steve/g : 将当前⽂件的所有Bill替换为Steve:%s/^M//g : 删除所有Dos回车符 (^M):%s/^M/\r/g : 删除所有Dos回车符转化成标准回车符:%s#<[^>]\+>##g : 删除所有HTML标记只留下内容:%s/^.∗\n\1$/\1/ : 删除重复⾏:s/Bill/Steve/ : 将当前⾏第⼀个Bill替换为Steve:s/Bill/Steve/g : 将当前⾏所有Bill替换为Steve:m,n s/Bill/Steve/ : 在m⾏和n⾏之间,将第⼀个Bill替换为Steve:m,n s/Bill/Steve/g : 在m⾏和n⾏之间,将所有Bill替换为Steve:2,35s/old/new/g : 将第2⾏到第35⾏之间所有old替换为new:5,$s/old/new/g : 将第5⾏到⽂件结尾之间所有old替换为newCtrl+a : 将光标选中的数字加1Ctrl+x : 将光标选中的数字减1ggVGg? : 将全⽂替换为回转13位⽂,变换2次可以回到原⽂.7)复制⽂本yw : 将光标后⼀个字放⼊临时缓冲区nyw或ynw : 将光标后n个字放⼊临时缓冲区y : 将当前⾏及下⼀⾏的内容放⼊临时缓冲区(命令模式下)y : 将当前光标选中的内容放⼊临时缓冲区(选择模式下)yy : 将当前⾏的内容放⼊临时缓冲区y$ : 将当前⾏光标之后的内容放⼊临时缓冲区D : 将当前⾏光标之后的内容剪切后放⼊临时缓冲区nyy : 将n⾏的内容放⼊临时缓冲区p : 将临时缓冲区中的⽂本粘贴在当前光标所在⾏下P : 将临时缓冲区中的⽂本粘贴在当前光标所在⾏上gh : 进⼊选择模式,通过光标选择内容,选择完毕后按y将选择内容删除并放⼊缓冲区,并插⼊y,进⼊插⼊模式gH : 进⼊选择模式,通过光标选择内容,选择完毕后按y将选择内容所在⾏删除并放⼊缓冲区,并插⼊y,进⼊插⼊模式gv : 进⼊选择模式,通过光标选择内容,选择完毕后按y将选择内容并放⼊缓冲区,不删除选择内容寄存器操作"(a-z)nyy : 复制n⾏放⼊名字为圆括号内的可命名缓冲区,省略n表⽰当前⾏"(a-z)ndd : 删除n⾏放⼊名字为圆括号内的可命名缓冲区,省略n表⽰当前⾏"(a-z)p : 将名字为圆括号的可命名缓冲区的内容放⼊当前⾏后"(a-z)P : 将名字为圆括号的可命名缓冲区的内容放⼊当前⾏前8)撤消与重复u : 撤消最后⼀次修改U : 撤消当前⾏的所有修改^r : 重新执⾏最近⼀次被撤消的操作. : 重复最后⼀次操作5. : 重复最后⼀次操作5次, : 以相反的⽅向重复前⾯的f、F、t或T查找命令; : 重复前⾯的f、F、t或T查找命令"np : 取回最后第n次的删除(缓冲区中存有⼀定次数的删除内容,⼀般为9)n : 重复前⾯的/或?查找命令N : 以相反⽅向重复前⾯的/或?命令9)vim中的选项:set all : 打印所有选项:set nooption : 关闭option选项:set nu : 每⾏前打印⾏号:set nonu : 每⾏前不打印⾏号:set showmode : 显⽰是输⼊模式还是替换模式:set ic : 查找时忽略⼤⼩写(另⼀种设置见下⽂):set noic : 查找时不忽略⼤⼩写:set list : 显⽰制表符(^I)和⾏尾符号:set ts=4 : 为⽂本输⼊设置tab stops:set ws=4 : 为⽂本输⼊缩进设置4字符:set window=n : 设置⽂本窗⼝显⽰n⾏:syntax on : 打开语法⾼亮:syntax off : 关闭语法⾼亮:set syntax=erlang : 强制语法⾼亮,并按erlang语法显⽰⾼亮10)vim的状态:.= 打印当前⾏的⾏号:= 打印⽂件中的⾏数^g 显⽰⽂件名、当前的⾏号、⽂件的总⾏数和⽂件位置的百分⽐:l 使⽤字母"l"来显⽰许多的特殊字符,如制表符和换⾏符11)shell转义命令:!command : 执⾏shell的command命令,如:!ls:!! : 执⾏前⼀个shell命令:r!command : 读取command命令的输⼊并插⼊,如:r!ls会先执⾏ls,然后读⼊内容:w!command : 将当前已编辑⽂件作为command命令的标准输⼊并执⾏command命令,如:w!grep all:cd directory : 将当前⼯作⽬录更改为directory所表⽰的⽬录:pwd : 显⽰当前⼯作⽬录:so file : 在shell程序file中读⼊和执⾏命令:!pwd : 执⾏pwd命令,然后回到vi!!pwd : 执⾏pwd命令,然后插⼊其输出结果到当前⽂件,并替换光标所在⾏:sh : 将启动⼀个⼦shell,使⽤^d(ctrl+d)返回vi^d或$exit : 退出临时开启的终端并回到vi12)宏与缩写(PS:避免使⽤控制键和符号,不要使⽤字符K、V、g、q、v、*、=和功能键):map key command_seq : 定义⼀个键来运⾏command_seq,如:map e ea,⽆论什么时候都可以e移到⼀个字的末尾来追加⽂本:map : 在状态⾏显⽰所有已定义的宏:umap key : 删除该键的宏:ab string1 string2 : 定义⼀个缩写,使得当插⼊string1时,⽤string2替换string1。

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

一、基本命令介绍
---- 1.光标命令
k、j、h、l——上、下、左、右光标移动命令。虽然您可以在Linux中使用键盘右边的4个光标键,但是记住这4个命令还是非常有用的。这4个键正是右手在键盘上放置的基本位置。
nG——跳转命令。n为行数,该命令立即使光标跳到指定行。
Ctrl+G——光标所在位置的行数和列数报告。
warn:在转到别的文件时若没保存当前文件则显示NO write信息
nomagic:允许在搜索模式中,使用前面不带“\”的特殊字符
nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始
mesg:允许vi显示其他用户用write写到自己终端上的信息
最后行方式命令
:n1,n2 co n3:将n1行到n2行之间的内容拷贝到第n3行下
│w │右移一个词 │
├─────┼───────────┤
│W │右移一个以空格分隔的词│
├─────┼───────────┤
│b │左移一个词 │
├─────┼───────────┤
│B │左移一个以空格分隔的词│
├─────┼───────────┤
:n1,n2 w!command:将文件中n1行至n2行的内容作为command的输入并执行之,若不指定n1,n2,
则表示将整个文件内容作为command的输入
:r!command:将命令command的输出结果放到当前行
寄存器操作
"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字
├───────────┼───────────────┤
│:q! │不保存文件,直接退出 │
├───────────┼───────────────┤
│:q │退出vi │
VI常用技巧
VI命令可以说是Unix/Linux世界里最常用的编辑文件的命令了,但是因为它的命令集众多,很多人都不习惯使用它,其实您只需要掌握基本命令,然后加以灵活运用,就会发现它的优势,并会逐渐喜欢使用这种方法。本文旨在介绍VI的一些最常用命令和高级应用技巧。
:g/p1/s//p2/g :将文件中所有p1均用p2替换
选项设置
all:列出所有选项设置情况
term:设置终端类型
ignorance:在搜索中忽略大小写
list:显示制表位(Ctrl+I)和行尾标志($)
number:显示行号
report:显示由面向行的命令修改过的数目
terse:显示简短的警告信息
├───┼───────────┤
│c │修改文本直到按下Esc健 │
├───┼───────────┤
│cw │修改下一个词 │
├───┼───────────┤
│cnw │修改接下来的n个词 │
└───┴───────────┘
五、文本编辑
┌──┬──────────────────────┐
---- 3.查找命令
---- /string、?string——从光标所在处向后或向前查找相应的字符串的命令。
---- 4.拷贝复制命令
---- yy、p——拷贝一行到剪贴板或取出剪贴板中内容的命令。
二、常见问题及应用技巧
---- 1.在一个新文件中读/etc/passwd中的内容,取出用户名部分。
│命寺│描述 │
├──┼──────────────────────┤
│yy │将一行文本移到缺省缓冲区中 │
├──┼──────────────────────┤
│yn │将下一个词移到缺省缓冲区中 │
├──┼──────────────────────┤
└─────┴───────────┘
三、替换文本
┌─────┬──────┐
│命令 │描述 │
├─────┼──────┤
│$ │到行尾 │
├─────┼──────┤
│( │到句子的开头│
├─────┼──────┤
│) │到句子的末尾│
│:w filename │写入文件 │
├───────────┼───────────────┤
│:W │写入文件 │
├───────────┼───────────────┤
│:x │保存(如果当前文件修改过)并退出│
六、保存退出
┌───────────┬───────────────┐
│命令 │描述 │
├───────────┼───────────────┤
│zz │保存并退出 │
├───────────┼───────────────┤
linux下vi命令大全
进入vi的命令
vi filename :打开或新建文件,并将光标置于第一行首
vi +n filename :打开文件,并将光标置于第n行首
vi + filename :打开文件,并将光标置于最后一行首
vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处
nz:将第n行滚至屏幕顶部,不指定n时将当前行滚至屏幕顶部。
插入文本类命令
i :在光标前
I :在当前行首
a:光标后
A:在当前行尾
o:在当前行之下新开一行
O:在当前行之上新开一行
r:替换当前字符
R:替换当前字符及其后的字符,直至按ESC键
s:从当前光标位置处开始,以输入的文本替代指定数目的字符
├──┼────────────┤
│O │在当前行前面插入一空行 │
├──┼────────────┤
│R │以改写方式输入文本 │
└──┴────────────┘
二、移动光标
┌─────┬───────────┐
│命令 │描述 │
├─────┼───────────┤
├──┼──────────────────────┤
│P │如果缺省缓冲区中包含一行文本,则正当前 │
│ │行前面插入一个空行井将缺省缓冲区中的内 │
│ │容粘贴到这一行中;如果缺省缓冲区中包含 │
│ │多个词,把这些词粘贴到光标的左边

└──┴──────────────────────┘
n-:光标上移n行
n$:光标移至第n行尾
H :光标移至屏幕顶行
M :光标移至屏幕中间行
L :光标移至屏幕最后行
0:(注意是数字零)光标移至当前行首
$:光标移至当前行尾
屏幕翻滚类命令
Ctrl+u:向文件首翻半屏
Ctrl+d:向文件尾翻半屏
Ctrl+f:向文件尾翻一屏
Ctrl+b;向文件首翻一屏
│i │在当前字符前插入文本 │
├──┼────────────┤
│I │在行首插入文本 │
├──┼────────────┤
│a │在当前字符后添加文本 │
├──┼────────────┤
│A │在行末添加文本 │
├──┼────────────┤
│o │在当前行后面插入一空行 │
搜索及替换命令
/pattern :从光标开始处向文件尾搜索pattern
?pattern :从光标开始处向文件首搜索pattern
n :在同一方向重复上一次搜索命令
N :在反方向上重复上一次搜索命令
:s/p1/p2/g :将当前行中所有p1均用p2替代
:n1,n2s/p1/p2/g :将第n1至n2行中所有p1均用p2替代
VI的使用
--------------------------------------------------------------------------------
一、插入文本
┌──┬────────────┐
│命令│描述 │
├──┼────────────┤
S:删除指定数目的行,并以所输入文本代替之
ncwห้องสมุดไป่ตู้nCW:修改指定数目的字
nCC:修改指定数目的行
删除命令
ndw或ndW:删除光标处开始及其后的n-1个字
do:删至行首
d$:删至行尾
ndd:删除当前行及其后n-1行
x或X:删除一个字符,x删除光标后的,而X删除光标前的
Ctrl+u:删除输入方式下所输入的文本
"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字
"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字
"?p:取出寄存器?中的内容并将其放到光标位置处。这里?可以是一个字母,也可以是一个数字
ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中。
k或Ctrl+p:光标上移一行
j或Ctrl+n :光标下移一行
Enter :光标下移一行
w或W :光标右移一个字至字首
b或B :光标左移一个字至字首
e或E :光标右移一个字至字尾
) :光标移至句尾
( :光标移至句首
}:光标移至段落开头
{:光标移至段落结尾
nG:光标移至第n行首
n+:光标下移n行
│j或下箭头 │向下移动一行 │
├─────┼───────────┤
相关文档
最新文档