网站首页 > 文章中心 > 其它

linux的vi编辑命令

作者:小编 更新时间:2023-09-08 07:33:12 浏览量:312人看过

分别是:命令模式、文本输入模式、和末行模式.

第一:命令行模式:

第二:文本输入模式:

在命令模式下输入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式.在该模式下,用户输入的任何字符都被vi当作文件内容保护起来,并将其显示在屏幕上.在文本输入过程中,若想回到命令模式下,按ESC键即可.

第三:末行模式:

实例演示

首先我们使用命令 vi filename 打开一个文件,这个时候进入到的是命令模式

linux的vi编辑命令-图1

此时此刻呢我们按i,然后键盘随便输入写内容.

然后按ESC重新进入到命令模式.

在命令模式的情况下,我们按:,进入到了末行模式.

我们输入wq!,然后回车,强行保存退出.

下次我们再打开对应文件(可用less filename命令打开),即可看到内容已经更改.

补充:

(1)末行模式下:q! 【强制退出不保存】 q【退出不保存】 wq【退出并保存后面也可以加个!】

更多命令

进入vi的命令:

vi filename :打开或新建文件,并将光标置于第一行首

vi +n filename :打开文件,并将光标置于第n行首

vi + filename :打开文件,并将光标置于最后一行首

vi +/pattern filename:打开文件,并将光标置于第一个与pattern匹配的串处

屏幕翻滚类命令:

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:从光标开始处向文件首搜索pattern

n:在同一方向重复上一次搜索命令

N:在反方向上重复上一次搜索命令

撤销回退命令:

u 撤销上一步的操作

Ctrl+r 恢复上一步被撤销的操作

选项设置:

all:列出所有选项设置情况

term:设置终端类型

ignorance:在搜索中忽略大小写

list:显示制表位(Ctrl+I)和行尾标志($)

number:显示行号

report:显示由面向行的命令修改过的数目

terse:显示简短的警告信息

warn:在转到别的文件时若没保存当前文件则显示NO write信息

nomagic:允许在搜索模式中,使用前面不带"\"的特殊字符

nowrapscan:禁止vi在搜索到达文件两端时,又从另一端开始

mesg:允许vi显示其他用户用write写到自己终端上的信息

末行模式命令:

:w :保存当前文件

:x:保存当前文件并退出

:q:退出vi

:q!:不保存文件并退出vi

:wq:保存并退出

:!command:执行shell命令command

:r!command:将命令command的输出结果放到当前行

寄存器操作:

"?nyy:将当前行及其下n行的内容保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyw:将当前行及其下n个字保存到寄存器?中,其中?为一个字母,n为一个数字

"?nyl:将当前行及其下n个字符保存到寄存器?中,其中?为一个字母,n为一个数字

"?p:取出寄存器?中的内容并将其放到光标位置处.这里?可以是一个字母,也可以是一个数字

ndd:将当前行及其下共n行文本删除,并将所删内容放到1号删除寄存器中.

linux vi保存退出命令 (如何退出vi)

①如图,vi 文件名,接着按回车即可打开对应的文件,如果没有对应的文件,那么vi命令就会自动创建一个新的.

Linux之vi命令

vi profile

返回

:q 退出

:wq或者:x或者shift+zz 保存并退出

:q! 不保存并退出

:w 保存

:w! 强制保存

i 在当前光标前面输入

I 在当前光标所在行的行首,转换为输入模式

a 在当前光标后面输入

A 在当前光标所在行的行尾,转换为输入模式

o 在当前光标所在行的下方,新建一行,并转为输入模式

O 在当前光标所在行的上方,新建一行,并转为输入模式

①.、 移动光标

字符:方向键上下左右或者键盘kjhl(上下左右)

单词:w移至下一个单词的词首;e跳至当前或下一个单词的词尾;b跳至当前或前一个单词的词首

行内:0绝对行首;^行首的第一个非空白字符;$绝对行尾

翻屏:ctrl f【往后翻】;Ctrl b【往前翻】

yw复制一个单词,p在该行粘贴单词;yy复制整行,p在该行下方粘贴整行

dd剪切整行,p再粘贴整行;dw剪切一个单词,p再粘贴一个单词

u:撤销;ctrl+r:重做撤销的操作;.重复上一步的操作【假设先dd,再.,会再执行dd命令】

①.、 set设置

set nu

set nonu

set readonly #设置只读文件,不能修改,只在当前环境有效,退出文件,再次打开,这个只读就无效了

set noreadonly #取消只读

/after查找文档中的after【可以找到所有的after】,n向下翻,N向上翻

:/after查找文档中的after所在行【可以找到所有的after】,n向下翻,N向上翻

比如:查找root目录

:!ls /root/

格式

【 :查找范围s/查找的词/要替换的词/ 】

或者【:查找范围s#查找的词#要替换的词# 】

或者【:查找范围s%查找的词%要替换的词%】,

即分隔符可以是/、#、%

其中, 查找范围 包括【.当前光标行】;【$末尾行】;【%全文】;【g一行内全部替换】;【i忽略大小写】

比如 【 :.,$s/after/before/】 表示在当前光标行【.】到末尾【$】这个范围内,将after替换为before, 但是如果一行有多个after的话,只会把第一个after替换掉 .

比如 【 :%s/after/before/】 表示在全文,将after替换为before,但是如果一行有多个after的话,只会把第一个after替换掉.

比如 【:%s/after/before/g】 ,表示在全文,将after替换为before,但是 如果一行有多个after的话,会把该行所有after替换掉,因为在命令里面加了g .

比如 【:%s/after/before/gi】 ,表示在全文,将after替换为before,且忽略大小写并替换一行内所有after.

比如 【 :%d或者dG】 ,表示删除全文

先按ESC进入Command模式,然后输入":wq",回车就可以保存并退出了.

vi的其他保存/退出命令:

:w 保存;

:w filename 另存为filename;

:wq! 保存并强制退出;

:wq! filename 注:以filename为文件名保存后强制退出;

:q! 强制退出;

:x 保存并退出(仅当文件有变化时保存)

扩展资料:

①.、命令行模式

在命令模式下输入插入命令i、附加命令a、打开命令o、修改命令c、取代命令r或替换命令s都可以进入文本输入模式.

在该模式下,用户输入的任何字符都被vi当做文件内容保存起来,并将其显示在屏幕上.在文本输入过程中,若想回到命令模式下,按下Esc键即可.

末行命令执行完后,vi 自动回到命令模式.

参考资料:百度百科-vi

下图所示是vim处于命令行模式的状态示意图.

在输入模式下,vim可以对文件执行写操作,类似于在Windows系统的文档中输入内容.

下图所示为vim处于输入模式模式下的示意图.

底行模式用于对文件中的指定内容执行保存、查找或替换等操作.

使vim切换到底行模式的方法是在 命令行模式 状态下按 : 键(注意是英文符号),此时vim窗口的左下方出现一个 : 符号,这是就可以输入相关指令进行操作了.

指令执行后vim会自动返回命令行模式.如想直接返回命令行模式,按 esc 即可.

下图所示为vim进入底行模式后的状态.

对于新手来说,经常不知道自己处于什么模式.不论是自己忘了,还是不小心切换了模式,都可以按一次 esc 键返回命令行模式.如果你多按几次 esc 键后听到"嘀————"的声音,则代表你已经处于命令行模式了.

打开文件

打开文件时光标处于文件尾部

打开文件时,光标定位到第几行

字符移动

单词移动

行内跳转

行间移动

在底行模式下,直接给出行号,实现跳转

例 :1,$s/a/A/g 把文件中全部的a换替换成A,全局替换

显示取消行号

设定自动缩进(写脚本时)

查找到的文本高亮显示

语法高亮

/etc/vimrc :全局配置文件,永久有效

~/.vimrc :个人配置文件,每个用户的家目录中,若不存在,手动创建

对于第一次用vim的童鞋,有几点需要提醒一下:

以上就是土嘎嘎小编大虾米为大家整理的相关主题介绍,如果您觉得小编更新的文章只要能对粉丝们有用,就是我们最大的鼓励和动力,不要忘记讲本站分享给您身边的朋友哦!!

版权声明:倡导尊重与保护知识产权。未经许可,任何人不得复制、转载、或以其他方式使用本站《原创》内容,违者将追究其法律责任。本站文章内容,部分图片来源于网络,如有侵权,请联系我们修改或者删除处理。

编辑推荐

热门文章