自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

從菜鳥到專家 vi編輯器全程教學(xué)手冊

系統(tǒng) Linux
當(dāng)我們在使用Linux或者是Unix的時(shí)候會遇到vi編輯器的使用,這就要求我們學(xué)習(xí)和掌握有關(guān)vi編輯器的使用方法。下面就是詳細(xì)的教程。

我們曾經(jīng)在linux vi編輯器概念層層講解中告訴大家一些基本的操作命令。但是我們在使用vi編輯器的時(shí)候還是會遇到不少困惑的地方,尤其是在Linux或UNIX中的基本使用方法,其實(shí)這些問題歸根結(jié)底還是在于我們對相關(guān)的知識掌握不牢固。在本文中,您將學(xué)習(xí)vi編輯器的基本使用方法,希望對您在之后的使用中有所幫助。

使用vi導(dǎo)航文檔

使用基本的vi模型

 

插入、編輯、刪除、復(fù)制和查找文本

 

本文將幫助您準(zhǔn)備 Linux Professional Institute's Junior Level Administration (LPIC-1) 考試的 103 主題下的 103.8 考核目標(biāo)。該考核目標(biāo)的權(quán)值為 3。

 

先決條件

為了從本文獲得最大的收益,您應(yīng)該具備基礎(chǔ)的 Linux 知識,并且具有一個(gè)能夠正常運(yùn)行的 Linux 系統(tǒng),以便練習(xí)本文討論的命令。不同版本的程序輸出的結(jié)果的格式可能不同,因此您的結(jié)果可能與本文圖片和清單所示的結(jié)果有所不同。

 

使用vi導(dǎo)航文檔

 

聯(lián)系 IanIan 是我們最受歡迎并且很多產(chǎn)的作者之一。查看 Ian 的個(gè)人資料 并與他和 My developerWorks 上的其他作者和讀者聯(lián)系。幾乎所有的 Linux 和 UNIX 系統(tǒng)上都有vi編輯器。事實(shí)上,如果系統(tǒng)只有一個(gè)編輯器,那它一定就是vi,因此深入了解vi是很值得的。本文將向您介紹一些基本的vi編輯命令,但有關(guān)完整的vi教程,請查看我們關(guān)于vi的教程 “vi 介紹 —— 快速參考表”,或者咨詢?nèi)斯ろ撁婊騾⒖枷嚓P(guān)書籍。

啟動(dòng)vi

大部分 Linux 發(fā)行版現(xiàn)在都帶有vim(表示viIMproved)編輯器而不是經(jīng)典的vi。Vim 與vi是向上兼容的,具有可用的圖形模式(gvim)以及標(biāo)準(zhǔn)的vi文本模式界面。vi 命令通常是一個(gè)vim 程序的別名或符號鏈接。有好幾個(gè)vim 版本:微型、小型、普通、大型和超大型。您可以使用以下命令找到運(yùn)行哪個(gè)版本,以及該版本包括哪些功能:

vi --version

 

回憶之前的文章 “學(xué)習(xí) Linux,101:進(jìn)程執(zhí)行優(yōu)先級” 修改優(yōu)先級中的一節(jié),我們希望更改運(yùn)行 count1.sh shell 腳本的優(yōu)先級。您自己測試時(shí)可能會發(fā)現(xiàn),命令運(yùn)行得太快,以至于沒有足夠的時(shí)間使用 renice 更改優(yōu)先級。那么我們可以使用vi編輯器在文件的開始處添加一行,讓其休眠 20 秒,以便有時(shí)間更改優(yōu)先級。

 

如果還沒有 count1.sh 程序,在主目錄打開終端窗口并從清單 1 中粘貼命令。這將在名為 lpi103-8 的目錄中創(chuàng)建一個(gè) count1.sh,并將您帶入該目錄中。

清單 1. CPU 密集型腳本 - count1.sh  

 

 

 

  1. mkdir -p lpi103-8 && cd lpi103-8 && {  
  2. echo 'x="$1"'>count1.sh  
  3. echo 'echo "$2" $(date)'>>count1.sh  
  4. echo 'while [ $x -gt 0 ]; do x=$(( x-1 ));done'>>count1.sh  
  5. echo 'echo "$2" $(date)'>>count1.sh  

 

 

 

要編輯現(xiàn)有文件,可以使用vi命令并將文件名作為參數(shù)。參考 參考資料 中的手冊了解更多主題的詳情?,F(xiàn)在,只需要使用不帶參數(shù)的命令:

 

vi count1.sh

 

該命令將打開 count1.sh 文件。您應(yīng)該看到類似于清單 2 的內(nèi)容。如果您使用的是vim,一些字或字母可能有顏色。Vim 有一個(gè)語法高亮模型(它不是原始vi編輯器的一部分),默認(rèn)情況下,在您的系統(tǒng)中它應(yīng)該是打開的。

 

 

清單 2. 使用vi編輯 count1.sh

 

 

 

  1. x="$1" 
  2. echo "$2" $(date)  
  3. while [ $x -gt 0 ]; do x=$(( x-1 ));done  
  4. echo "$2" $(date)  
  5. ~  
  6. ~  
  7. ~  
  8. ~  
  9. "count1.sh" 4L, 84C 1,1 All 

 

 

開發(fā)vi編輯器時(shí)并非所有終端鍵盤都有光標(biāo)移動(dòng)鍵,因此您在vi中只能使用標(biāo)準(zhǔn)鍵盤中能找到的鍵,以及 Esc 和 Insert 等鍵。但是,您可以配置vi使用其他鍵(如果可用);鍵盤上的大部分鍵在vi中都能做一些很有用的事情。因?yàn)檫@種遺留情況以及早期終端連接較慢的本質(zhì),vi 自然有了命令簡單和神秘的名聲。我們先來查看用于在文件中導(dǎo)航的鍵。

 

移動(dòng)

以下命令可以幫助您在文件內(nèi)移動(dòng):

 

 

 

  1. h 在當(dāng)前行往左移動(dòng)一個(gè)字符   
  2. j 向下移動(dòng)到下一行   
  3. k 向上移動(dòng)到上一行   
  4. l 在當(dāng)前行往右移動(dòng)一個(gè)字符   
  5. w 移動(dòng)到當(dāng)前行下一個(gè)字   
  6. e 移動(dòng)到當(dāng)前行下一個(gè)字的結(jié)束處   
  7. b 移動(dòng)到當(dāng)前行上一個(gè)字的開始處   
  8. Ctrl-f 向前滾動(dòng)一頁   
  9. Ctrl-b 向后滾動(dòng)一頁  

如果在這些命令之前鍵入數(shù)字,則命令將執(zhí)行該數(shù)字表示的次數(shù)。該數(shù)字稱為重復(fù)次數(shù) 或者就稱為計(jì)數(shù)。例如,5h 將向左移動(dòng) 5 個(gè)字符。許多vi命令都可以使用重復(fù)計(jì)數(shù)。#p#

 

移動(dòng)到行

以下命令將幫助您移動(dòng)到文件的特定行:

 

 

 

  1. G 移動(dòng)到文件的特定行。例如,3G 移動(dòng)到第 3 行。如果沒有參數(shù),
    G 將移動(dòng)到文件的最后一行。   
  2. H 相對于屏幕移動(dòng)到最上面的行。例如,3H 將移動(dòng)到屏幕上方往下第三行。   
  3. L 就像 H 一樣,不同之處在于移動(dòng)到屏幕的最后一行。因此,
    2L 移動(dòng)到屏幕的倒數(shù)第二行。   
  4. 離開 vi 關(guān)于一個(gè)新的編輯器,就有用的一件事情是了解如何在做了不該
    做的事情前離開編輯器,比如要避免銷毀重要的配置文件。您可以在保存
    或丟棄更改的情況下離開 vi,也可以用重新啟動(dòng)的方式。如果這些命令無效,
    您可能處于插入模式,這將在后文介紹。如果是這樣,可以按 Esc 
    退出插入模式并返回到命令模式,這些命令就會生效。  
  5. :q! 退出編輯文件并放棄所有更改。這是避免麻煩的常用手段。   
  6. :w! 寫入文件(無論是否修改)。嘗試重寫現(xiàn)有文件或只讀文件,
    或者其他不可寫文件。您可以給定一個(gè)文件名作為參數(shù),寫入的將是這個(gè)
    文件而不是開始的文件。忽略 ! 通常會更加安全,除非您知道您在做什么。   
  7. ZZ 如果修改了文件,則寫入文件。是普通 vi 退出常用的方法。   
  8. :e! 編輯文件的當(dāng)前磁盤副本。這將重載文件,放棄所做的更改。
    如果磁盤副本出于某些原因發(fā)生了更改,并且您需要最新的版本,那么可以使用這種方法。   
  9. :! 運(yùn)行一個(gè) shell 命令。鍵入命令并按 Enter。當(dāng)命令完成時(shí),
    您將看到輸出和提示返回到 vi 編輯。
    注意:

 

當(dāng)您鍵入冒號 (:) 時(shí),您的光標(biāo)將移動(dòng)到鍵入命令和任何參數(shù)的屏幕的下一行。

如果忽略上述命令的感嘆號,您將收到一條錯(cuò)誤消息,比如更改沒有保存,輸出文件無法重寫(例如,編輯只讀文件時(shí))。

 

: 命令有一個(gè)較長的形式(:quit, :write, :edit),但是很少使用。

 

vi 模式

vi 編輯器有兩種操作模式:

命令模式

在命令模式中,您可以在文件中移動(dòng)并執(zhí)行一些編輯操作,比如搜索文本、刪除文本等。啟動(dòng)時(shí)通常都是命令模式。

 

插入模式

 

在插入模式中,您在插入點(diǎn)向文本鍵入新文本。要返回到命令模式,按 Esc(Escape)鍵。

 

這兩個(gè)模式?jīng)Q定了編輯器的行為。您在插入模式中鍵入的任何內(nèi)容都將視為將要插入文件的文本。如果嘗試鍵入命令但沒有反應(yīng),或者在光標(biāo)下出現(xiàn)字符,那么可能是忘記按 Esc 退出插入模式了。

 

 

編輯文本

 

現(xiàn)在您可以在vi中打開文件,在其中移動(dòng)和退出,現(xiàn)在我們將學(xué)習(xí)如何編輯文件中的文本。

修改文本

需要插入、刪除或修改文本時(shí),使用以下命令。注意,有些命令有類似于小寫形式的大寫形式,具體見下文的描述。

 

 

 

搜索文本

 

  1. i 在當(dāng)前位置的字符之前進(jìn)入插入模式。鍵入文本并按 Esc 返回命令模式。
    使用 I 在當(dāng)前行的前面插入。   
  2. a 在當(dāng)前位置的字符之后插入模型。鍵入文本并按 Esc 返回到命令模式。
    使用 A 插入當(dāng)前行的結(jié)尾。   
  3. c 使用 c 更改當(dāng)前字符并進(jìn)入插入模式鍵入替換字符。   
  4. o 在當(dāng)前行下方另起一行以插入文本。使用 0 打開當(dāng)前行上面的一行。   
  5. cw 刪除當(dāng)前字的其余部分,進(jìn)入插入模式進(jìn)行替換。使用重復(fù)計(jì)數(shù)替換多個(gè)字。
    使用 c$ 替換行的末尾。   
  6. dw 與上述 cw(和 c$)類似,但不進(jìn)入插入模式。   
  7. dd 刪除當(dāng)前行。使用重復(fù)計(jì)數(shù)刪除多行。   
  8. x 刪除光標(biāo)位置的字符。使用重復(fù)計(jì)數(shù)刪除多個(gè)字符。   
  9. p 將最后一個(gè)刪除文本放在當(dāng)前字符。使用 P 將其放在當(dāng)前字符之前。   
  10. xp 組合 x 和 p 是一個(gè)常用的方法。這將交換光標(biāo)位置的字符和它右邊的字符。可以使用表達(dá)式在文件中/

搜索文本:

使用 / 后跟正則表達(dá)式可以在文件中進(jìn)行向前搜索。

 

 

 

 

  1. ? 使用 ? 后跟正則表達(dá)式可以在文件中進(jìn)行向后搜索。   
  2. n 使用 n 以任意方向重復(fù)上一次搜索。  

上述搜索命令前可以帶任何數(shù)字表示重復(fù)次數(shù)。3/x 查找當(dāng)前點(diǎn)第三次出現(xiàn) x 的地方,就像是 /x 后跟 2n。類似地,2/^e 將從當(dāng)前位置開始的第二行查找以 e 開始的內(nèi)容。

 

注意,到達(dá)文件底部之后,搜索將回到頂部。

獲得幫助

vi 中另一個(gè)有用的命令是 help 命令,調(diào)用它的方式是 :help。help 將在vi中打開;使用 :q 命令可以離開幫助回到工作。如果您希望在某個(gè)特定主題獲得幫助,比如換行,可以嘗試在 :help 命令后面添加一個(gè)字,例如::help wrap。

小結(jié)

我們從向 count1.sh 文件添加一行開始。 要保持原來的內(nèi)容并保存修改的版本,如 count2.sh,使用vi打開文件之后,我們應(yīng)該使用這些vi命令。注意, <Esc> 表示按 Esc 鍵。

 

清單 3. 向 count1.sh 添加一行的編輯器命令

 

 

 

 

 

 

  1. 1G  
  2. O  
  3. sleep 20<Esc>   
  4. :w! count2.sh   
  5. :q 

這些命令執(zhí)行以下操作:

 

 

 

 

  1. 1G 移動(dòng)到文件的第一行   
  2. O 在上方新建一行并進(jìn)入插入模式   
  3. sleep 20 要添加的新文本   
  4. <Esc> 按 Esc 鍵返回命令模式   
  5. :w! count2.sh 將文件寫入磁盤   
  6. :q 關(guān)閉 vi  

只要知道如何做,vi編輯器的使用一切都很簡單。

【編輯推薦】

  1. linux vi編輯器之葵花寶典
  2. 講述linux vi編輯器的基礎(chǔ)命令使用方法
  3. Linux操作系統(tǒng)下VI編輯器常用命令詳細(xì)介紹
  4. Ubuntu vim實(shí)用配置文件用命令截屏
  5. Ubuntu vim顯示行號語法高亮自動(dòng)縮進(jìn)
責(zé)任編輯:張浩 來源: developerWorks 中國
相關(guān)推薦

2010-03-24 09:20:07

CentOS vi編輯

2020-12-23 22:25:11

Vi文本編輯器Unix

2018-02-09 09:58:41

Linux編輯器Vi

2009-10-27 16:47:58

linux vi編輯器

2018-01-25 18:30:05

編輯器ViVim

2009-07-31 17:38:47

linux vi命令詳linux vi命令屏幕文本編輯器

2009-10-27 12:43:41

linux vi編輯器

2009-12-23 10:27:22

vi編輯器

2009-12-25 13:00:47

Linux編輯器Vi

2009-07-08 09:21:09

Linux安裝JDK

2013-10-29 14:57:17

AngularJS項(xiàng)目

2013-11-06 13:55:27

AngularJS服務(wù)

2010-11-16 13:21:08

Oracle命令行

2024-02-28 16:26:14

Linuxvi編輯器

2015-07-15 10:46:00

Sublime Tex

2009-10-26 10:47:57

linux vi編輯器

2013-11-06 10:10:15

AngularJSScopes

2013-08-28 14:12:02

Web前端開發(fā)前端

2015-10-27 09:25:11

Vi編輯器使用指南

2013-06-18 01:22:46

CocoStudio工Cocos2d-x
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號