• 歡迎訪問奇跡の海網站,本站不上傳任何資源,所有資源均來自于網絡,歡迎加入奇跡の海~!奇跡の海-WordPress QQ群
  • 本站下載資源為網絡上收集整理而來,并且以計算機技術研究交流為目的,版權歸原作者所有,僅供大家參考,學習,不存在任何商業目的與商業用途.
  • 本站系統鏡像均來自于官方原版,ed2k可視為P2P下載鏈接。所有操作系統默認均為試用版,如有正版密鑰可以有效激活,本站不提供任何激活和相關服務。

vi屏幕文本編輯器(文本編輯器Vi)

服務器 奇跡の海 10個月前 (01-12) 319次瀏覽 已收錄 0個評論 掃描二維碼

vi屏幕文本編輯器(文本編輯器Vi)
Linux上最常用的文本編輯器Vi。文本編輯器是所有計算機系統中最常使用的一種工具。用戶在使用計算機的時候,往往需要建立自己的文件,無論是一般的文本文件、數據文件,還是編寫的源程序文件,這些工作都離不開編輯器。
  Linux系統提供了一個完整的編輯器家族系列,如Ed、Ex、Vi和Emacs等,按功能它們可以分為兩大類:行編輯器(Ed、Ex)和全屏幕編輯器(Vi、Emacs)。行編輯器每次只能對一行進行操作,使用起來很不方便。而全屏幕編輯器可以對整個屏幕進行編輯,用戶編輯的文件直接顯示在屏幕上,修改的結果可以立即看出來,克服了行編輯的那種不直觀的操作方式,便于用戶學習和使用,具有強大的功能。
  Vi是Linux系統的第一個全屏幕交互式編輯程序,它從誕生至今一直得到廣大用戶的青睞,歷經數十年仍然是人們主要使用的文本編輯工具,足見其生命力之強,而強大的生命力是其強大的功能帶來的。
  本章中,我們將循序漸進地介紹如何使用Vi來建立、編輯、顯示以及處理文件。(注:文中的大寫字母為[shift]鍵+相應的小寫字母的組合)
   

Vi簡介

  Vi是“Visual interface”的簡稱,它在Linux上的地位就仿佛Edit程序在DOS上一樣。它可以執行輸出、刪除、查找、替換、塊操作等眾多文本操作,而且用戶可以根據自己的需要對其進行定制,這是其他編輯程序所沒有的。
  Vi不是一個排版程序,它不象Word或WPS那樣可以對字體、格式、段落等其他屬性進行編排,它只是一個文本編輯程序。
  Vi沒有菜單,只有命令,且命令繁多。Vi有三種基本工作模式:命令行模式、文本輸入模式和末行模式。
  

命令行模式

  任何時候,不管用戶處于何種模式,只要按一下鍵,即可使Vi進入命令行模式;我們在shell環境(提示符為$)下輸入啟動Vi命令,進入編輯器時,也是處于該模式下。
  在該模式下,用戶可以輸入各種合法的Vi命令,用于管理自己的文檔。此時從鍵盤上輸入的任何字符都被當做編輯命令來解釋,若輸入的字符是合法的Vi命令,則Vi在接受用戶命令之后完成相應的動作。但需注意的是,所輸入的命令并不在屏幕上顯示出來。若輸入的字符不是Vi的合法命令,Vi會響鈴報警。
  

文本輸入模式

  在命令模式下輸入插入命令i、附加命令a 、打開命令o、修改命令c、取代命令r或替換命令s都可以進入文本輸入模式。在該模式下,用戶輸入的任何字符都被Vi當做文件內容保存起來,并將其顯示在屏幕上。在文本輸入過程中,若想回到命令模式下,按鍵即可。
  

末行模式

  末行模式也稱ex轉義模式。
  Vi和Ex編輯器的功能是相同的,二者主要區別是用戶界面。在Vi中,命令通常是單個鍵,例如i、a、o等;而在Ex中,命令是以按回車鍵結束的正文行。Vi有一個專門的“轉義”命令,可訪問很多面向行的Ex命令。在命令模式下,用戶按“:”鍵即可進入末行模式下,此時Vi會在顯示窗口的最后一行(通常也是屏幕的最后一行)顯示一個“:”作為末行模式的提示符,等待用戶輸入命令。多數文件管理命令都是在此模式下執行的(如把編輯緩沖區的內容寫到文件中等)。末行命令執行完后,Vi自動回到命令模式。例如:
  

:1,$s / A / a / g

  則從文件第一行至文件尾將大寫A全部替換成小寫a。
  若在末行模式下輸入命令過程中改變了主意,可按鍵,或用退格鍵將輸入的命令全部刪除之后,再按一下退格鍵,即可使Vi回到命令模式下。
  Vi編輯器的三種工作模式之間的轉換如圖11-1所示
  如果要從命令模式轉換到編輯模式,可以鍵入命令a或者i;如果需要從文本模式返回,則按Esc鍵即可。在命令模式下輸入“:”即可切換到末行模式,然后輸入命令。
  

Vi的進入與退出

  Vi 的進入
  用戶登錄到系統中之后,系統給出提示符“$”。在提示符后鍵入Vi和想要編輯(或建立)的文件名,便可進入Vi。
  [例1] 鍵入命令:
  

$ vi example.c
  屏幕顯示如下:
  ~
  ~
  ~
  ~
  ~
  ~
  ~
  ~
  ~
  ~
  ~
  ~
  ~
  “ example.c” [New File]

  如果只鍵入Vi,而不帶文件名,也可以進入Vi。之后在光標處鍵入文件內容,退出Vi時,只需在退出命令后輸入文件名即可。
  進入Vi之后,首先進入的就是命令模式,也就是說等待命令輸入而不是文本輸入。這時輸入的字母都將作為命令來解釋。光標停在屏幕第一行首位上(用表示),其余各行行首均有一個“~”符號,表示該行為空行。最后一行也稱狀態行,顯示出當前正在編輯的文件名以及其狀態。如本例是[New File],表示example.c是一個新建的文件。如果example.c文件已在系統中存在,那么輸入上述命令后,則在屏幕上顯示出該文件的內容,并且光標停在第一行的首位,在狀態行顯示出該文件的文件名、行數和字符數。
  [例2] 鍵入命令:
  

$ vi example.c
  然后鍵入:
  #include
  main ( )
  { int k ;
  for ( k=0 ; k<3 ; k++) add( );
  }
  add( )
  { static int x=0;
  x++ ;
  printf(“x = %d\n”, x);
  }
  ~
  ~
  ~
  ~
  “ example.c” [ New File]

  注意,在這里我們為了節省篇幅起見,屏幕只顯示15行。事實上,初始的顯示行數與用戶所用終端有關,一般的CRT終端可顯示25行。在窗口系統中,顯示行數與運行Vi的那個窗口有關。然而我們可以對顯示行數進行設置。例如,在能顯示25行的CRT終端上,讓Vi只顯示15行。設置的方法將在本節后面介紹。
  當用Vi建立一個新文件時,在進入Vi的命令中也可以不給出文件名,當編輯完文件需要保存數據時,再由用戶指定文件名。
  進入Vi時,用戶不僅可以指定一個待編輯的文件名,而且還有許多附加操作。
  如果希望在進入Vi之后,光標處于文件中特定的某行上,可在Vi后加上任選項+n,其中n為指定的行數。
  [例3] 鍵入命令:
  

$ vi +5 example1.c
  后,屏幕顯示如下:
  #include
  main ( )
  { int k ;
  for ( k=0 ; k<3 ; k++) add( );
  }
  add( )
  { static int x=0;
  x++ ;
  printf(“x = %d\n”, x);
  }
  ~
  ~
  ~
  ~
  ~
  “ example.c” 12 lines, 125 characters

  光標將位于文件example1.c中的第5行上。
  如果希望在進入Vi之后光標處于文件最末行,則只需把命令中附加項“+”后面的數字n省略掉即可。
  在進入Vi時,除了可以指定一個光標起始行號之外,還可以在命令中指定一個模式串,此時在進入Vi后,光標就處于文件中第一個與指定模式串相匹配的那行上。
  [例4] 鍵入命令:
  

$ vi +/int example1.c
  屏幕顯示如下:
  #include
  main ( )
  { int k ;
  for ( k=0 ; k<3 ; k++) add( );
  }
  add( )
  { static int x=0;
  x++ ;
  printf(“x = %d\n”, x);
  }
  ~
  ~
  ~
  ~
  ~
  “ example.c” 12 lines, 125 characters

  光標將位于文件example1.c中的第3行上。
  使用Vi可以同時編輯多個文件,只要在進入Vi的命令中寫入所要操作的文件即可,還可以使用通配符。
  [例5] 鍵入命令:
 

 $ vi *.cat

  就可以編輯所有后綴為cat的文件了。當然,您還可以使用shell中內置的模式匹配來裝載文件,這樣會更富技巧性。一旦您在命令行中包含了所有的待編輯文件名,就可以在Vi中方便地移來移去。
  退出Vi
  當編輯完文件,準備退出Vi返回到shell時,可以使用以下幾種方法之一。
  在命令模式中,連按兩次大寫字母Z,若當前編輯的文件曾被修改過,則Vi保存該文件后退出,返回到shell;若當前編輯的文件沒被修改過,則Vi直接退出, 返回到shell。
  在末行模式下,輸入命令:w
  Vi保存當前編輯文件,但并不退出,而是繼續等待用戶輸入命令。在使用w命令時,可以再給編輯文件起一個新的文件名。
  [例6]
  

:w newfile

  此時Vi將把當前文件的內容保存到指定的newfile中,而原有文件保持不變。若newfile是一個已存在的文件,則Vi在顯示窗口的狀態行給出提示信息:
  

File exists (use ! to override)

  此時,若用戶真的希望用文件的當前內容替換newfile中原有內容,可使用命令
  

:w! newfile

  否則可選擇另外的文件名來保存當前文件。
  在末行模式下,輸入命令

:q

  系統退出Vi返回到shell。若在用此命令退出Vi時,編輯文件沒有被保存,則Vi在顯示窗口的最末行顯示如下信息:
  

No write since last change (use ! to overrides)

  提示用戶該文件被修改后沒有保存,然后Vi并不退出,繼續等待用戶命令。若用戶就是不想保存被修改后的文件而要強行退出Vi時,可使用命令:q!
  Vi放棄所作修改而直接退到shell下。
  在末行模式下,輸入命令

:wq

  Vi將先保存文件,然后退出Vi返回到shell。
  在末行模式下,輸入命令

:x

  該命令的功能同命令模式下的ZZ命令功能相同。
  Vi中的行號
  Vi中的許多命令都要用到行號及行數等數值。若編輯的文件較大時,自己去數是非常不方便的。為此Vi提供了給文本加行號的功能。這些行號顯示在屏幕的左邊,而相應行的內容則顯示在行號之后。
  使用的命令為:在末行方式下輸入命令:
  

:set number

  需要說明的是,這里加的行號只是顯示給用戶看的,它們并不是文件內容的一部分。
  在一個較大的文件中,用戶可能需要了解光標當前行是哪一行,在文件中處于什么位置,可在命令模式下


版權聲明:本站所有文章和資源使用CC BY-NC-SA 4.0協議授權發布 , 轉載應當以相同方式注明文章來自“SeaOMC.COM->vi屏幕文本編輯器(文本編輯器Vi)!在下邊可以分享本文哦!
喜歡 (0)
[]
分享 (0)
奇跡の海
關于作者:
一個WordPress菜鳥!
發表我的評論
取消評論

表情 貼圖 加粗 刪除線 居中 斜體 簽到

Hi,您需要填寫昵稱和郵箱!

  • 昵稱 (必填)
  • 郵箱 (必填)
  • 網址
中国福利彩票36选7开奖结果