HOME 首页
SERVICE 服务产品
XINMEITI 新媒体代运营
CASE 服务案例
NEWS 热点资讯
ABOUT 关于我们
CONTACT 联系我们
创意岭
让品牌有温度、有情感
专注品牌策划15年

    vi命令用法(vi命令用法 保存部分内容)

    发布时间:2023-03-02 10:22:06     稿源: 创意岭    阅读: 1522        问大家

    大家好!今天让创意岭的小编来大家介绍下关于vi命令用法(vi命令用法 保存部分内容)的问题,以下是小编对此问题的归纳整理,让我们一起来看看吧。

    创意岭作为行业内优秀的企业,服务客户遍布全球各地,相关业务请拨打电话:175-8598-2043,或添加微信:1454722008

    文章目录列表:

    vi命令用法(vi命令用法 保存部分内容)

    一、请教VI的用法,如何在VI里面使用查找命令

    使用vi编辑器编辑长文件时

    方法如下:

    1、命令模式下输入“/字符串”,例如“/Section 3”。

    2、如果查找下一个,按“n”即可。

    要自当前光标位置向上搜索,请使用以下命令:

    /pattern Enter

    其中,pattern表示要搜索的特定字符序列。

    要自当前光标位置向下搜索,请使用以下命令:

    ?pattern Enter

    按下 Enter键后,vi 将搜索指定的pattern,并将光标定位在 pattern的第一个字符处。

    例如,要向上搜索 place一词,请键入:

    www.2cto.com

    vi 查找替换大全

    vi/vim 中可以使用 :s 命令来替换字符串。以前只会使用一种格式来全文替换,今天发现该命令

    有很多种写法(vi 真是强大啊,还有很多需要学习),记录几种在此,方便以后查询。

    :s/vivian/sky/ 替换当前行第一个 vivian 为 sky

    :s/vivian/sky/g 替换当前行所有 vivian 为 sky

    :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

    :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

    n 为数字,若 n 为 .,表示从当前行开始到最后一行

    :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

    :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

    可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

    :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

    :%s+/oradata/apras/+/user01/apras1+ (使用+ 来 替换 / ): /oradata/apras/替换成/user01/apras1/ www.2cto.com

    1.:s/vivian/sky/ 替换当前行第一个 vivian 为 sky

    :s/vivian/sky/g 替换当前行所有 vivian 为 sky

    2. :n,$s/vivian/sky/ 替换第 n 行开始到最后一行中每一行的第一个 vivian 为 sky

    :n,$s/vivian/sky/g 替换第 n 行开始到最后一行中每一行所有 vivian 为 sky

    (n 为数字,若 n 为 .,表示从当前行开始到最后一行)

    3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替换每一行的第一个 vivian 为 sky

    :%s/vivian/sky/g(等同于 :g/vivian/s//sky/g) 替换每一行中所有 vivian 为 sky

    4. 可以使用 # 作为分隔符,此时中间出现的 / 不会作为分隔符

    :s#vivian/#sky/# 替换当前行第一个 vivian/ 为 sky/

    5. 删除文本中的^M

    问题描述:对于换行,window下用回车换行(0A0D)来表示,Linux下是回车(0A)来表示。这样,将window上的文件拷到Unix上用时,总会有个^M.请写个用在unix下的过滤windows文件的换行符(0D)的shell或c程序。 www.2cto.com

    · 使用命令:cat filename1 | tr -d “^V^M” > newfile;

    · 使用命令:sed -e “s/^V^M//” filename > outputfilename。需要注意的是在1、2两种方法中,^V和^M指的是Ctrl+V和Ctrl+M。你必须要手工进行输入,而不是粘贴。

    · 在vi中处理:首先使用vi打开文件,然后按ESC键,接着输入命令:%s/^V^M//。

    · :%s/^M$//g

    如果上述方法无用,则正确的解决办法是:

    · tr -d "\r" < src >dest

    · tr -d "\015" dest

    · strings A>B

    6. 其它

    利用 :s 命令可以实现字符串的替换。具体的用法包括:

    :s/str1/str2/ 用字符串 str2 替换行中首次出现的字符串 str1

    :s/str1/str2/g 用字符串 str2 替换行中所有出现的字符串 str1

    www.2cto.com

    :.,$ s/str1/str2/g 用字符串 str2 替换正文当前行到末尾所有出现的字符串 str1

    :1,$ s/str1/str2/g 用字符串 str2 替换正文中所有出现的字符串 str1

    :g/str1/s//str2/g 功能同上

    从上述替换命令可以看到:g 放在命令末尾,表示对搜索字符串的每次出现进行替换;不加 g,表示只对搜索

    字符串的首次出现进行替换;g 放在命令开头,表示对正文中所有包含搜索字符串的行进行替换操作。

    二、vim命令选中字符段,并且将其删除,使用什么命令?

    1、首先vi命令打开要修改的文件;

    2、在打开文件后,默认的是浏览模式,即非编辑模式;

    3、在非编辑模式下输入斜杠:/;

    4、在/后输入你要找的那个字符,例如:/baidu ,输入完成后回车;

    5、如果文件中存在baidu这个关键字,那么光标会自动定位到这个关键字上;

    6、此时文件还是处于非编辑模式,连续按两次键盘上的 “d”键,即可删除baidu所在的行;

    7、然后按键盘上的字母“n”键,可以继续在文件中查找baidu这个关键字,查到后,重复步骤6删除行的操作即可。

    三、Linux之vi命令

    vi profile

    返回

    :q 退出

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

    :q! 不保存并退出

    :w 保存

    :w! 强制保存

    编辑到输入模式:

    i 在当前光标前面输入

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

    a 在当前光标后面输入

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

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

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

    1、 移动光标

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

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

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

    行间:G文章末尾;3G第3行;gg文章开头

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

    2、 删除、替换单个字符

    x删除光标位置字符;3x删除光标开始3个字符;r替换光标位置字符

    dw删除一个单词;4dw删除光标开始的4个单词;dd删除光标所在行;5dd删除光标开始的5行

    3、复制粘贴剪切

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

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

    4、 撤销&重做

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

    1、 set设置

    set nu

    set nonu

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

    set noreadonly #取消只读

    2、 /查找

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

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

    3、!执行命令

    比如:查找root目录

    :!ls /root/

    4、 查找并替换

    格式

    【 :查找范围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】 ,表示删除全文

    比如 【:1,$-4d】 ,表示删除第一行到倒数第5行的数据

    比如 【:1,4y】 ,表示复制1到4行,再按p可粘贴这4行

    四、如何在linux中vi使用方法

    vi/vim 基本使用方法

    vi编辑器是所有Unix及Linux系统下标准的编辑器,它的强大不逊色于任何最新的文本编辑器,这里只是简单地介绍一下它的用法和一小部分指令。由于对Unix及Linux系统的任何版本,vi编辑器是完全相同的,因此您可以在其他任何介绍vi的地方进一步了解它。Vi也是Linux中最基本的文本编辑器,学会它后,您将在Linux的世界里畅行无阻。

    1、vi的基本概念

    基本上vi可以分为三种状态,分别是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能区分如下:

    1) 命令行模式command mode)

    控制屏幕光标的移动,字符、字或行的删除,移动复制某区段及进入Insert mode下,或者到 last line mode。

    2) 插入模式(Insert mode)

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

    3) 底行模式(last line mode)

    将文件保存或退出vi,也可以设置编辑环境,如寻找字符串、列出行号……等。

    不过一般我们在使用时把vi简化成两个模式,就是将底行模式(last line mode)也算入命令行模式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)」,这时候你就可以开始输入文字了。

    c) Insert 的切换

    您目前处于「插入模式(Insert mode)」,您就只能一直输入文字,如果您发现输错了字!想用光标键往回移动,将该字删除,就要先按一下「ESC」键转到「命令行模式(command mode)」再删除文字。

    d) 退出vi及保存文件

    在「命令行模式(command mode)」下,按一下「:」冒号键进入「Last line mode」,例如:

    : w filename (输入 「w filename」将文章以指定的文件名filename保存)

    : wq (输入「wq」,存盘并退出vi)

    : q! (输入q!, 不存盘强制退出vi)

    3、命令行模式(command mode)功能键

    1). 插入模式

    按「i」切换进入插入模式「insert mode」,按“i”进入插入模式后是从光标当前位置开始输入文件;

    按「a」进入插入模式后,是从目前光标所在位置的下一个位置开始输入文字;

    按「o」进入插入模式后,是插入新的一行,从行首开始输入文字。

    2). 从插入模式切换为命令行模式

    按「ESC」键。

    3). 移动光标

    vi可以直接用键盘上的光标来上下左右移动,但正规的vi是用小写英文字母「h」、「j」、「k」、「l」,分别控制光标左、下、上、右移一格。

    按「ctrl」+「b」:屏幕往“后”移动一页。

    按「ctrl」+「f」:屏幕往“前”移动一页。

    按「ctrl」+「u」:屏幕往“后”移动半页。

    按「ctrl」+「d」:屏幕往“前”移动半页。

    按数字「0」:移到文章的开头。

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

    按「$」:移动到光标所在行的“行尾”。

    按「^」:移动到光标所在行的“行首”

    按「w」:光标跳到下个字的开头

    按「e」:光标跳到下个字的字尾

    按「b」:光标回到上个字的开头

    按「#l」:光标移到该行的第#个位置,如:5l,56l。

    4). 删除文字

    「x」:每按一次,删除光标所在位置的“后面”一个字符。

    「#x」:例如,「6x」表示删除光标所在位置的“后面”6个字符。

    「X」:大写的X,每按一次,删除光标所在位置的“前面”一个字符。

    「#X」:例如,「20X」表示删除光标所在位置的“前面”20个字符。

    「dd」:删除光标所在行。

    「#dd」:从光标所在行开始删除#行

    5). 复制

    「yw」:将光标所在之处到字尾的字符复制到缓冲区中。

    「#yw」:复制#个字到缓冲区

    「yy」:复制光标所在行到缓冲区。

    「#yy」:例如,「6yy」表示拷贝从光标所在的该行“往下数”6行文字。

    「p」:将缓冲区内的字符贴到光标所在位置。注意:所有与“y”有关的复制命令都必须与“p”配合才能完成复制与粘贴功能。

    6). 替换

    「r」:替换光标所在处的字符。

    「R」:替换光标所到之处的字符,直到按下「ESC」键为止。

    7). 恢复/撤消/还原上一次操作

    「u」:如果误执行一个命令,可以马上按下「u」,撤消上一个操作。按多次“u”可以执行多次撤消。

    8). 更改

    「cw」:更改光标所在处的字到字尾处

    「c#w」:例如,「c3w」表示更改3个字

    9). 跳至指定的行

    「ctrl」+「g」列出光标所在行的行号。

    「#G」:例如,「15G」,表示移动光标至文章的第15行行首。

    4、Last line mode下命令简介

    在使用「last line mode」之前,请记住先按「ESC」键确定您已经处于「command mode」下后,再按「:」冒号即可进入「last line mode」。

    A) 列出行号

    「set nu」:输入「set nu」后,会在文件中的每一行前面列出行号。

    B) 跳到文件中的某一行

    「#」:「#」号表示一个数字,在冒号后输入一个数字,再按回车键就会跳到该行了,如输入数字15,再回车,就会跳到文章的第15行。

    C) 查找字符

    「/关键字」:先按「/」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往后寻找到您要的关键字为止。

    「?关键字」:先按「?」键,再输入您想寻找的字符,如果第一次找的关键字不是您想要的,可以一直按「n」会往前寻找到您要的关键字为止。

    D) 保存文件

    「w」:在冒号输入字母「w」就可以将文件保存起来。

    E) 离开vi

    「q」:按「q」就是退出,如果无法离开vi,可以在「q」后跟一个「!」强制离开vi。

    「qw」:一般建议离开时,搭配「w」一起使用,这样在退出的时候还可以保存文件。

    5、vi命令列表

    1、下表列出命令模式下的一些键的功能:

    h

    左移光标一个字符

    l

    右移光标一个字符

    k

    光标上移一行

    j

    光标下移一行

    ^

    光标移动至行首

    0

    数字“0”,光标移至文章的开头

    G

    光标移至文章的最后

    $

    光标移动至行尾

    Ctrl+f

    向前翻屏

    Ctrl+b

    向后翻屏

    Ctrl+d

    向前翻半屏

    Ctrl+u

    向后翻半屏

    i

    在光标位置前插入字符

    a

    在光标所在位置的后一个字符开始增加

    o

    插入新的一行,从行首开始输入

    ESC

    从输入状态退至命令状态

    x

    删除光标后面的字符

    #x

    删除光标后的#个字符

    X

    (大写X),删除光标前面的字符

    #X

    删除光标前面的#个字符

    dd

    删除光标所在的行

    #dd

    删除从光标所在行数的#行

    yw

    复制光标所在位置的一个字

    #yw

    复制光标所在位置的#个字

    yy

    复制光标所在位置的一行

    #yy

    复制从光标所在行数的#行

    p

    粘贴

    u

    取消操作

    cw

    更改光标所在位置的一个字

    #cw

    更改光标所在位置的#个字

    下表列出行命令模式下的一些指令

    w filename

    储存正在编辑的文件为filename

    wq filename

    储存正在编辑的文件为filename,并退出vi

    q!

    放弃所有修改,退出vi

    set nu

    显示行号

    /或?

    查找,在/后输入要查找的内容

    n

    以上就是小编对于vi命令用法(vi命令用法 保存部分内容)问题和相关问题的解答了,如有更多相关问题,可拨打网站上的电话,或添加微信:1454722008(备注来意)


    推荐阅读:

    VI设计的原则(VI设计的原则是什么)

    vi设计封面设计(vi封面封底设计)

    vi品牌包装

    抖音店铺有没有代运营公司?哪家靠谱?

    市场营销朱捷课本(市场营销朱捷课本答案)