VI
Download
1 / 39

VI ????? - PowerPoint PPT Presentation


  • 104 Views
  • Uploaded on

VI 文字編輯器. VI 編輯器簡介. 多數 Linux 系統中預設的文字編輯器 大量的快速鍵指令 簡單的程式語法除錯機制. 三種模式切換. 指令模式. 編輯模式. 一般模式 - 移動游標. 刪除複製與貼上. vim 文書編輯軟體. vim 是 Linux 中功能相當強的編輯工具 , 其前身是 Unix 系統下元老級的文書編輯程式 vi , 也是目前 Linux 預設的編輯軟體。. 3 種主要的模式.

loader
I am the owner, or an agent authorized to act on behalf of the owner, of the copyrighted work described.
capcha
Download Presentation

PowerPoint Slideshow about 'VI ?????' - lucia


An Image/Link below is provided (as is) to download presentation

Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author.While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server.


- - - - - - - - - - - - - - - - - - - - - - - - - - E N D - - - - - - - - - - - - - - - - - - - - - - - - - -
Presentation Transcript
Vi

VI文字編輯器


Vi
VI編輯器簡介

  • 多數Linux系統中預設的文字編輯器

  • 大量的快速鍵指令

  • 簡單的程式語法除錯機制





Vi
一般模式 -移動游標



Vi
vim 文書編輯軟體

  • vim 是 Linux 中功能相當強的編輯工具, 其前身是 Unix 系統下元老級的文書編輯程式 vi , 也是目前 Linux 預設的編輯軟體。


Vi
3 種主要的模式

  • normal mode:我們一開始進入 vim 時, 預設的模式就是 normal mode。在此模式下, 我們無法輸入任何文字, 不過可以利用按鍵指令來執行許多操作命令, 例如移動游標位置、複製、刪除...。

  • insert mode:進入 vim 之後, 按 [a]、[i] 或 [o] 鍵, 即可進入 insert mode, 在此模式下, 我們才可以輸入文字內容。


Vi
3 種主要的模式

  • command-line mode:在 normal mode 中按 [:] 即會進入 command-line mode, 在此模式下, 我們可以做一些與輸入文字無關的事, 例如搜尋字串、儲存檔案或結束編輯等。


Vi
3 種主要的模式


Vi

  • 由於 vim 的功能繁多, 首先我們來看看 vim 的編輯環境, 以及如何結束 vim。

  • 請在文字模式視窗或虛擬主控台中執行 vim 指令, 或是執行 vim 檔案名稱指定要編輯的檔案(由於在虛擬主控台中開啟 vim, 因中文字都會變成亂碼, 所以請先執行LANG=C 指令, 改以英文顯示, 再執行 vim指令):


Vi vim
vi 與 vim 指令編輯文件的差異

  • vi 原本是 Unix 的文書編輯器, 後來 Linux 也延用了此傳統的編輯器, 因此許多人習慣以vi 檔案名稱指令來編輯文件。

  • vim 編輯器會將註解、變數等文字加上顏色, 讓使用者可以方便地編輯設定檔、程式碼等檔案。


Vi vim1
vi 與 vim 指令編輯文件的差異

  • 不過在 Fedora Core 下面執行 vi 指令時, 只會啟動一個精簡版本的 vim, 因此編輯檔案時不會有顏色, 必須使用 vim 編輯檔案才會有顏色。所以習慣以 vi 檔案名稱指令來編輯文件的人, 可以建立下面連結:


Vi
vim 編寫文件

  • 進入 vim 時預設的模式是 normal mode, 無法輸入文字, 現在我們要開始編寫一個文字檔, 請按 [i] 鍵切換到 insert mode:


Vi
vim 編寫文件


Vi
vim 編寫文件

  • 其實要切換到 insert mode, 除了按 [i] 鍵外, 還可以按 [a] 或 [o] 鍵進入 insert mode, 筆者將三者的差別整理如下:

    • 按 [i] 鍵:從目前游標所在位置的下一個字元開始輸入。

    • 按 [a] 鍵:從游標所在位置插入新輸入的字元。

    • 按 [o] 鍵:新增加一行, 並將游標移到下一行的開頭。


Vi
儲存檔案、離開 vim

  • 編寫好文件之後, 接下來便要存檔及離開 vim, 請按 [Esc] 鍵回到 normal mode, 然後按 [:] 鍵進入 command-line mode, 輸入 "w 檔案的路徑及名稱":



Vi
進入 vim 後, 如何開啟既有文字檔?

  • 如果您在進入 vim 之後, 想要開啟既有的檔案 (例如要開啟 /tmp 目錄中的 text.txt), 可以按 [:] 鍵進入 command-line mode, 然後輸入 "e 檔案的路徑及名稱":


Vi
進入 vim 後, 如何開啟既有文字檔?


Vi
vim 的操作指令

  • 移動游標位置

  • 複製文字

  • 刪除文字

  • 尋找及取代文字


Vi
移動游標位置

  • 無論在 normal mode 或 insert mode, 都可以使用方向鍵來移動游標所在的位置, 但在方向鍵不能使用的時候, 則必須切換到 normal mode 再配合下列幾組按鍵命令來移動游標 (以下按鍵命令前的 “^”, 表示先按住 [Ctrl] 鍵, 再按其他的英文字母)。


Vi
移動游標的基本操作

  • h:將游標向左移動一格。

  • l:將游標向右移動一格。

  • j:將游標向下移動一行。

  • k:將游標向上移動一行。

  • ^b:將游標向前面捲動一頁, 相當於按 [Page Up] 鍵。

  • ^f:將游標向文章後面移動一頁, 相當於按 [Page Down] 鍵。


Vi
移動游標的進階操作

  • 0 (數目字 0):將游標移到該行的最前面。

  • $ (請按 [Shift] + [4] 鍵):將游標移到該行的最後面。

  • G:將游標移到最後一行的開頭。

  • w 或 W:將游標移到下一個字。

  • e 或 E:將游標移到本單字的最後一個字元;如果游標所在位置為本單字的最後一個字元, 則跳到下一個單字的最後一個字元。


Vi
移動游標的進階操作

  • b:將游標移到本單字的第一個字元;如果游標所在位置為本單字的第一個字元 , 則跳到上一個單字的第一個字元。

  • [[:在編輯 C/C++/PHP 等程式時, 連按兩次 [ [ ] 鍵可將游標移至函式開頭的 “{” 處, 再連按兩次則會將游標移至上一個函式開頭的 “{” 處。

  • ]]:在編輯 C/C++/PHP 等程式時, 連按兩次 [ ] ] 鍵可將游標移至下一個函式開頭的 "{" 處。


Vi
移動游標的進階操作

當要捲動螢幕內容的時候, 可以使用 [Page Up] 與 [Page Down] 鍵換頁。但在這 2 個鍵不能使用的時候, 除了第 13-16 頁介紹的^b 及^f 外,還可以用下列幾個組合鍵:

  • ^u:將游標向前移動半頁。

  • ^d:將游標向後移動半頁。

  • ^e:螢幕向下捲動一行, 也可以說檔案內容和游標向上捲動一行。

  • ^y:螢幕向上捲動一行, 也可以說檔案內容和游標向下捲動一行。


Vi
複製文字

複製文字可以省下重複輸入的時間, vim 也提供了以下的操作按鍵:

  • yy:連續按 [y] 鍵, 可將游標目前所在位置的整行複製, 複製時並不會將文字反白顯示。

  • nyy:其中 n 為數字鍵, 表示要複製的行數。若按 [3] [y] [y] 鍵, 則將連同游標所在位置的一行, 與下面 2 行 (共 3 行) 一起複製。


Vi
複製文字

  • yw:按 [y] [w] 鍵可複製游標所在位置到此單字結束的字元。

  • nyw:若按 [3] [y] [w] 鍵, 則會將目前游標所在位置到單字結束, 以及後面的2 個單字 (共 3 個單字) 一起複製 (n 表示要複製的單字數目)。

  • p:可將複製的字貼在目前游標所在的位置。若複製的是整行文字, 則會將整行內容貼在游標所在位置的下一行。


Vi
刪除文字

要刪除文字時, 可以一次刪除一個字元, 也可以一次刪除好幾個字元或是整行文字:

  • d:先按 [d] 鍵放開後, 然後按 [←] 鍵, 可將游標位置前一個字元刪除。按 [→] 鍵, 則會將游標位置的字元刪除。按 [↑] 鍵, 可將目前游標所在的行與前一行一併刪除。按 [↓] 鍵, 可將目前游標所在的行與下一行刪除。

  • D:可刪除一行中, 游標所在位置之後的所有字元。


Vi
刪除文字

  • dd:連按 2 次 [d] 鍵可刪除游標所在那一行。所以千萬不要按著 鍵不放 , 因為會連著刪除好幾行。

  • dw:將游標停在某個字的第一個字元, 按 [d] [w] 鍵時, 會將此單字整個刪除。若將游標置於某個字中間的字元上, 則會將此單字中, 游標後面的字元刪除。


Vi
刪除文字

  • nd:n 為數字, 若按 [3] [d] 表示標示游標位置的上或下方 3 行。再按下 [↑] 鍵, 則刪除游標上方 3 行, 再包括本身 1 行, 共刪除 4 行。若按下 [↓] 鍵 , 則刪除游標下方 3 行, 再包括本身 1 行, 共刪除 4 行。

  • ndd:若按 [3] [d] [d] 鍵, 表示刪除目前游標位置的 1 行與下面的 2 行。

  • x:刪除游標所在位置的字元, 用法與鍵盤上的 [Detele] 鍵相同。


Vi
刪除文字

  • X:刪除游標位置前面一個字元, 與 [d] + [←] 鍵一樣。

  • nx:按 [4] [x] 鍵, 表示刪除游標位置後的 3 個字元, 與游標本身所在的字元。

  • nX:按 [4] [X] 鍵, 表示刪除游標位置之前的 4 個字元 (不包括游標的字元)。


Vi
尋找及取代文字

  • / 或 ?:當要搜尋文章中的某一個字串時, 可輸入 “/” 或 “?”, 然後再輸入要尋找的字串。例如輸入 “/gz” 或 “?gz”, 然後按 [Enter] 鍵, vim 就會把所有的 gz 字串標記起來, 並自動將游標移到第一個找到的字串上。

  • n:將游標移到下一個找到的字串上。

  • N:將游標移到上一個找到的字串上。


Vi
尋找及取代文字

  • r:取代游標所在位置的字元。修改內容不一定要進入 insert mode, 在 normal mode 中, 只要將游標移到要更改的字元上, 然後按 [r] 鍵, 就可以輸入要替換的字元了。

  • cc:按 [c] [c] 鍵可取代游標所在的那一行。

  • 替換字串:當我們要將文章中的某一個字串全部替換時 (例如將所有的 temp 換成 tmp), 使用 ":g/temp/s//tmp/g" 或是 ":%s/temp/tmp/g" 命令, 可以立刻將所有 "temp" 字串換成 "tmp" 字串。


Vi
尋找及取代文字

  • 如果不是所有的 "temp" 字串都要替換時, 可用 ":g/temp/s//tmp/gc" 或 ": %s/temp/tmp/gc" 命令。則找到每一個 "temp" 字串時, 都會將整行顯示在螢幕下方, 您可輸入 "y" 或 "n" 決定是否要替換。


Vi
顯示游標所在行數、移到指定行數

當我們在寫程式的時候, 常常會需要跳到某一行去修改, 因此每一行的號碼就相當重要。vim 也為此提供了幾個按鍵組合:

  • ^g、^G:按此組合鍵, 則會在最下方處顯示游標所在位置(以百分比表示), 以及文章的總行數。

  • nG:n 為數字, 若按下 [2] [0] [g], 則可將游標移到第 20 行。


Vi
復原上一個動作

  • u:按此鍵就是在執行 undo 指令, 可取消前一次的動作。在 vim 中, undo 並沒有次數上的限制, 也就是您可以無限制的執行 undo。

  • ^r:按此鍵就是在執行 redo 指令。可以回復剛才 undo 的動作。


Vi
一個操作 vim 不可不知的指令:

英文的句點, 可以讓您重複編輯動作


ad