HOME 首頁
SERVICE 服務(wù)產(chǎn)品
XINMEITI 新媒體代運(yùn)營
CASE 服務(wù)案例
NEWS 熱點(diǎn)資訊
ABOUT 關(guān)于我們
CONTACT 聯(lián)系我們
創(chuàng)意嶺
讓品牌有溫度、有情感
專注品牌策劃15年

    vi命令用法(vi命令用法 保存部分內(nèi)容)

    發(fā)布時(shí)間:2023-03-02 10:22:06     稿源: 創(chuàng)意嶺    閱讀: 1522        問大家

    大家好!今天讓創(chuàng)意嶺的小編來大家介紹下關(guān)于vi命令用法(vi命令用法 保存部分內(nèi)容)的問題,以下是小編對此問題的歸納整理,讓我們一起來看看吧。

    創(chuàng)意嶺作為行業(yè)內(nèi)優(yōu)秀的企業(yè),服務(wù)客戶遍布全球各地,相關(guān)業(yè)務(wù)請撥打電話:175-8598-2043,或添加微信:1454722008

    文章目錄列表:

    vi命令用法(vi命令用法 保存部分內(nèi)容)

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

    使用vi編輯器編輯長文件時(shí)

    方法如下:

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

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

    要自當(dāng)前光標(biāo)位置向上搜索,請使用以下命令:

    /pattern Enter

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

    要自當(dāng)前光標(biāo)位置向下搜索,請使用以下命令:

    ?pattern Enter

    按下 Enter鍵后,vi 將搜索指定的pattern,并將光標(biāo)定位在 pattern的第一個字符處。

    例如,要向上搜索 place一詞,請鍵入:

    www.2cto.com

    vi 查找替換大全

    vi/vim 中可以使用 :s 命令來替換字符串。以前只會使用一種格式來全文替換,今天發(fā)現(xiàn)該命令

    有很多種寫法(vi 真是強(qiáng)大啊,還有很多需要學(xué)習(xí)),記錄幾種在此,方便以后查詢。

    :s/vivian/sky/ 替換當(dāng)前行第一個 vivian 為 sky

    :s/vivian/sky/g 替換當(dāng)前行所有 vivian 為 sky

    :n,$s/vivian/sky/ 替換第 n 行開始到最后一行中每一行的第一個 vivian 為 sky

    :n,$s/vivian/sky/g 替換第 n 行開始到最后一行中每一行所有 vivian 為 sky

    n 為數(shù)字,若 n 為 .,表示從當(dāng)前行開始到最后一行

    :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky

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

    可以使用 # 作為分隔符,此時(shí)中間出現(xiàn)的 / 不會作為分隔符

    :s#vivian/#sky/# 替換當(dāng)前行第一個 vivian/ 為 sky/

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

    1.:s/vivian/sky/ 替換當(dāng)前行第一個 vivian 為 sky

    :s/vivian/sky/g 替換當(dāng)前行所有 vivian 為 sky

    2. :n,$s/vivian/sky/ 替換第 n 行開始到最后一行中每一行的第一個 vivian 為 sky

    :n,$s/vivian/sky/g 替換第 n 行開始到最后一行中每一行所有 vivian 為 sky

    (n 為數(shù)字,若 n 為 .,表示從當(dāng)前行開始到最后一行)

    3. :%s/vivian/sky/(等同于 :g/vivian/s//sky/) 替換每一行的第一個 vivian 為 sky

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

    4. 可以使用 # 作為分隔符,此時(shí)中間出現(xiàn)的 / 不會作為分隔符

    :s#vivian/#sky/# 替換當(dāng)前行第一個 vivian/ 為 sky/

    5. 刪除文本中的^M

    問題描述:對于換行,window下用回車換行(0A0D)來表示,Linux下是回車(0A)來表示。這樣,將window上的文件拷到Unix上用時(shí),總會有個^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。你必須要手工進(jìn)行輸入,而不是粘貼。

    · 在vi中處理:首先使用vi打開文件,然后按ESC鍵,接著輸入命令:%s/^V^M//。

    · :%s/^M$//g

    如果上述方法無用,則正確的解決辦法是:

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

    · tr -d "\015" dest

    · strings A>B

    6. 其它

    利用 :s 命令可以實(shí)現(xiàn)字符串的替換。具體的用法包括:

    :s/str1/str2/ 用字符串 str2 替換行中首次出現(xiàn)的字符串 str1

    :s/str1/str2/g 用字符串 str2 替換行中所有出現(xiàn)的字符串 str1

    www.2cto.com

    :.,$ s/str1/str2/g 用字符串 str2 替換正文當(dāng)前行到末尾所有出現(xiàn)的字符串 str1

    :1,$ s/str1/str2/g 用字符串 str2 替換正文中所有出現(xiàn)的字符串 str1

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

    從上述替換命令可以看到:g 放在命令末尾,表示對搜索字符串的每次出現(xiàn)進(jìn)行替換;不加 g,表示只對搜索

    字符串的首次出現(xiàn)進(jìn)行替換;g 放在命令開頭,表示對正文中所有包含搜索字符串的行進(jìn)行替換操作。

    二、vim命令選中字符段,并且將其刪除,使用什么命令?

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

    2、在打開文件后,默認(rèn)的是瀏覽模式,即非編輯模式;

    3、在非編輯模式下輸入斜杠:/;

    4、在/后輸入你要找的那個字符,例如:/baidu ,輸入完成后回車;

    5、如果文件中存在baidu這個關(guān)鍵字,那么光標(biāo)會自動定位到這個關(guān)鍵字上;

    6、此時(shí)文件還是處于非編輯模式,連續(xù)按兩次鍵盤上的 “d”鍵,即可刪除baidu所在的行;

    7、然后按鍵盤上的字母“n”鍵,可以繼續(xù)在文件中查找baidu這個關(guān)鍵字,查到后,重復(fù)步驟6刪除行的操作即可。

    三、Linux之vi命令

    vi profile

    返回

    :q 退出

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

    :q! 不保存并退出

    :w 保存

    :w! 強(qiáng)制保存

    編輯到輸入模式:

    i 在當(dāng)前光標(biāo)前面輸入

    I 在當(dāng)前光標(biāo)所在行的行首,轉(zhuǎn)換為輸入模式

    a 在當(dāng)前光標(biāo)后面輸入

    A 在當(dāng)前光標(biāo)所在行的行尾,轉(zhuǎn)換為輸入模式

    o 在當(dāng)前光標(biāo)所在行的下方,新建一行,并轉(zhuǎn)為輸入模式

    O 在當(dāng)前光標(biāo)所在行的上方,新建一行,并轉(zhuǎn)為輸入模式

    1、 移動光標(biāo)

    字符:方向鍵上下左右或者鍵盤kjhl(上下左右)

    單詞:w移至下一個單詞的詞首;e跳至當(dāng)前或下一個單詞的詞尾;b跳至當(dāng)前或前一個單詞的詞首

    行內(nèi):0絕對行首;^行首的第一個非空白字符;$絕對行尾

    行間:G文章末尾;3G第3行;gg文章開頭

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

    2、 刪除、替換單個字符

    x刪除光標(biāo)位置字符;3x刪除光標(biāo)開始3個字符;r替換光標(biāo)位置字符

    dw刪除一個單詞;4dw刪除光標(biāo)開始的4個單詞;dd刪除光標(biāo)所在行;5dd刪除光標(biāo)開始的5行

    3、復(fù)制粘貼剪切

    yw復(fù)制一個單詞,p在該行粘貼單詞;yy復(fù)制整行,p在該行下方粘貼整行

    dd剪切整行,p再粘貼整行;dw剪切一個單詞,p再粘貼一個單詞

    4、 撤銷&重做

    u:撤銷;ctrl+r:重做撤銷的操作;.重復(fù)上一步的操作【假設(shè)先dd,再.,會再執(zhí)行dd命令】

    1、 set設(shè)置

    set nu

    set nonu

    set readonly #設(shè)置只讀文件,不能修改,只在當(dāng)前環(huán)境有效,退出文件,再次打開,這個只讀就無效了

    set noreadonly #取消只讀

    2、 /查找

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

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

    3、!執(zhí)行命令

    比如:查找root目錄

    :!ls /root/

    4、 查找并替換

    格式

    【 :查找范圍s/查找的詞/要替換的詞/ 】

    或者【:查找范圍s#查找的詞#要替換的詞# 】

    或者【:查找范圍s%查找的詞%要替換的詞%】,

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

    其中, 查找范圍 包括【.當(dāng)前光標(biāo)行】;【$末尾行】;【%全文】;【g一行內(nèi)全部替換】;【i忽略大小寫】

    比如 【 :.,$s/after/before/】 表示在當(dāng)前光標(biāo)行【.】到末尾【$】這個范圍內(nèi),將after替換為before, 但是如果一行有多個after的話,只會把第一個after替換掉 。

    比如 【 :%s/after/before/】 表示在全文,將after替換為before,但是如果一行有多個after的話,只會把第一個after替換掉。

    比如 【:%s/after/before/g】 ,表示在全文,將after替換為before,但是 如果一行有多個after的話,會把該行所有after替換掉,因?yàn)樵诿罾锩婕恿薵 。

    比如 【:%s/after/before/gi】 ,表示在全文,將after替換為before,且忽略大小寫并替換一行內(nèi)所有after。

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

    比如 【:1,$-4d】 ,表示刪除第一行到倒數(shù)第5行的數(shù)據(jù)

    比如 【:1,4y】 ,表示復(fù)制1到4行,再按p可粘貼這4行

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

    vi/vim 基本使用方法

    vi編輯器是所有Unix及Linux系統(tǒng)下標(biāo)準(zhǔn)的編輯器,它的強(qiáng)大不遜色于任何最新的文本編輯器,這里只是簡單地介紹一下它的用法和一小部分指令。由于對Unix及Linux系統(tǒng)的任何版本,vi編輯器是完全相同的,因此您可以在其他任何介紹vi的地方進(jìn)一步了解它。Vi也是Linux中最基本的文本編輯器,學(xué)會它后,您將在Linux的世界里暢行無阻。

    1、vi的基本概念

    基本上vi可以分為三種狀態(tài),分別是命令模式(command mode)、插入模式(Insert mode)和底行模式(last line mode),各模式的功能區(qū)分如下:

    1) 命令行模式command mode)

    控制屏幕光標(biāo)的移動,字符、字或行的刪除,移動復(fù)制某區(qū)段及進(jìn)入Insert mode下,或者到 last line mode。

    2) 插入模式(Insert mode)

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

    3) 底行模式(last line mode)

    將文件保存或退出vi,也可以設(shè)置編輯環(huán)境,如尋找字符串、列出行號……等。

    不過一般我們在使用時(shí)把vi簡化成兩個模式,就是將底行模式(last line mode)也算入命令行模式command mode)。

    2、vi的基本操作

    a) 進(jìn)入vi

    在系統(tǒng)提示符號輸入vi及文件名稱后,就進(jìn)入vi全屏幕編輯畫面:

    $ vi myfile

    不過有一點(diǎn)要特別注意,就是您進(jìn)入vi之后,是處于「命令行模式(command mode)」,您要切換到「插入模式(Insert mode)」才能夠輸入文字。初次使用vi的人都會想先用上下左右鍵移動光標(biāo),結(jié)果電腦一直嗶嗶叫,把自己氣個半死,所以進(jìn)入vi后,先不要亂動,轉(zhuǎn)換到「插入模式(Insert mode)」再說吧!

    b) 切換至插入模式(Insert mode)編輯文件

    在「命令行模式(command mode)」下按一下字母「i」就可以進(jìn)入「插入模式(Insert mode)」,這時(shí)候你就可以開始輸入文字了。

    c) Insert 的切換

    您目前處于「插入模式(Insert mode)」,您就只能一直輸入文字,如果您發(fā)現(xiàn)輸錯了字!想用光標(biāo)鍵往回移動,將該字刪除,就要先按一下「ESC」鍵轉(zhuǎn)到「命令行模式(command mode)」再刪除文字。

    d) 退出vi及保存文件

    在「命令行模式(command mode)」下,按一下「:」冒號鍵進(jìn)入「Last line mode」,例如:

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

    : wq (輸入「wq」,存盤并退出vi)

    : q! (輸入q!, 不存盤強(qiáng)制退出vi)

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

    1). 插入模式

    按「i」切換進(jìn)入插入模式「insert mode」,按“i”進(jìn)入插入模式后是從光標(biāo)當(dāng)前位置開始輸入文件;

    按「a」進(jìn)入插入模式后,是從目前光標(biāo)所在位置的下一個位置開始輸入文字;

    按「o」進(jìn)入插入模式后,是插入新的一行,從行首開始輸入文字。

    2). 從插入模式切換為命令行模式

    按「ESC」鍵。

    3). 移動光標(biāo)

    vi可以直接用鍵盤上的光標(biāo)來上下左右移動,但正規(guī)的vi是用小寫英文字母「h」、「j」、「k」、「l」,分別控制光標(biāo)左、下、上、右移一格。

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

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

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

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

    按數(shù)字「0」:移到文章的開頭。

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

    按「$」:移動到光標(biāo)所在行的“行尾”。

    按「^」:移動到光標(biāo)所在行的“行首”

    按「w」:光標(biāo)跳到下個字的開頭

    按「e」:光標(biāo)跳到下個字的字尾

    按「b」:光標(biāo)回到上個字的開頭

    按「#l」:光標(biāo)移到該行的第#個位置,如:5l,56l。

    4). 刪除文字

    「x」:每按一次,刪除光標(biāo)所在位置的“后面”一個字符。

    「#x」:例如,「6x」表示刪除光標(biāo)所在位置的“后面”6個字符。

    「X」:大寫的X,每按一次,刪除光標(biāo)所在位置的“前面”一個字符。

    「#X」:例如,「20X」表示刪除光標(biāo)所在位置的“前面”20個字符。

    「dd」:刪除光標(biāo)所在行。

    「#dd」:從光標(biāo)所在行開始刪除#行

    5). 復(fù)制

    「yw」:將光標(biāo)所在之處到字尾的字符復(fù)制到緩沖區(qū)中。

    「#yw」:復(fù)制#個字到緩沖區(qū)

    「yy」:復(fù)制光標(biāo)所在行到緩沖區(qū)。

    「#yy」:例如,「6yy」表示拷貝從光標(biāo)所在的該行“往下數(shù)”6行文字。

    「p」:將緩沖區(qū)內(nèi)的字符貼到光標(biāo)所在位置。注意:所有與“y”有關(guān)的復(fù)制命令都必須與“p”配合才能完成復(fù)制與粘貼功能。

    6). 替換

    「r」:替換光標(biāo)所在處的字符。

    「R」:替換光標(biāo)所到之處的字符,直到按下「ESC」鍵為止。

    7). 恢復(fù)/撤消/還原上一次操作

    「u」:如果誤執(zhí)行一個命令,可以馬上按下「u」,撤消上一個操作。按多次“u”可以執(zhí)行多次撤消。

    8). 更改

    「cw」:更改光標(biāo)所在處的字到字尾處

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

    9). 跳至指定的行

    「ctrl」+「g」列出光標(biāo)所在行的行號。

    「#G」:例如,「15G」,表示移動光標(biāo)至文章的第15行行首。

    4、Last line mode下命令簡介

    在使用「last line mode」之前,請記住先按「ESC」鍵確定您已經(jīng)處于「command mode」下后,再按「:」冒號即可進(jìn)入「last line mode」。

    A) 列出行號

    「set nu」:輸入「set nu」后,會在文件中的每一行前面列出行號。

    B) 跳到文件中的某一行

    「#」:「#」號表示一個數(shù)字,在冒號后輸入一個數(shù)字,再按回車鍵就會跳到該行了,如輸入數(shù)字15,再回車,就會跳到文章的第15行。

    C) 查找字符

    「/關(guān)鍵字」:先按「/」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會往后尋找到您要的關(guān)鍵字為止。

    「?關(guān)鍵字」:先按「?」鍵,再輸入您想尋找的字符,如果第一次找的關(guān)鍵字不是您想要的,可以一直按「n」會往前尋找到您要的關(guān)鍵字為止。

    D) 保存文件

    「w」:在冒號輸入字母「w」就可以將文件保存起來。

    E) 離開vi

    「q」:按「q」就是退出,如果無法離開vi,可以在「q」后跟一個「!」強(qiáng)制離開vi。

    「qw」:一般建議離開時(shí),搭配「w」一起使用,這樣在退出的時(shí)候還可以保存文件。

    5、vi命令列表

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

    h

    左移光標(biāo)一個字符

    l

    右移光標(biāo)一個字符

    k

    光標(biāo)上移一行

    j

    光標(biāo)下移一行

    ^

    光標(biāo)移動至行首

    0

    數(shù)字“0”,光標(biāo)移至文章的開頭

    G

    光標(biāo)移至文章的最后

    $

    光標(biāo)移動至行尾

    Ctrl+f

    向前翻屏

    Ctrl+b

    向后翻屏

    Ctrl+d

    向前翻半屏

    Ctrl+u

    向后翻半屏

    i

    在光標(biāo)位置前插入字符

    a

    在光標(biāo)所在位置的后一個字符開始增加

    o

    插入新的一行,從行首開始輸入

    ESC

    從輸入狀態(tài)退至命令狀態(tài)

    x

    刪除光標(biāo)后面的字符

    #x

    刪除光標(biāo)后的#個字符

    X

    (大寫X),刪除光標(biāo)前面的字符

    #X

    刪除光標(biāo)前面的#個字符

    dd

    刪除光標(biāo)所在的行

    #dd

    刪除從光標(biāo)所在行數(shù)的#行

    yw

    復(fù)制光標(biāo)所在位置的一個字

    #yw

    復(fù)制光標(biāo)所在位置的#個字

    yy

    復(fù)制光標(biāo)所在位置的一行

    #yy

    復(fù)制從光標(biāo)所在行數(shù)的#行

    p

    粘貼

    u

    取消操作

    cw

    更改光標(biāo)所在位置的一個字

    #cw

    更改光標(biāo)所在位置的#個字

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

    w filename

    儲存正在編輯的文件為filename

    wq filename

    儲存正在編輯的文件為filename,并退出vi

    q!

    放棄所有修改,退出vi

    set nu

    顯示行號

    /或?

    查找,在/后輸入要查找的內(nèi)容

    n

    以上就是小編對于vi命令用法(vi命令用法 保存部分內(nèi)容)問題和相關(guān)問題的解答了,如有更多相關(guān)問題,可撥打網(wǎng)站上的電話,或添加微信:1454722008(備注來意)


    推薦閱讀:

    VI設(shè)計(jì)的原則(VI設(shè)計(jì)的原則是什么)

    vi設(shè)計(jì)封面設(shè)計(jì)(vi封面封底設(shè)計(jì))

    vi品牌包裝

    抖音店鋪有沒有代運(yùn)營公司?哪家靠譜?

    市場營銷朱捷課本(市場營銷朱捷課本答案)