Download presentation
Presentation is loading. Please wait.
1
VI文字編輯器
2
VI編輯器簡介 多數Linux系統中預設的文字編輯器 大量的快速鍵指令 簡單的程式語法除錯機制
3
三種模式切換
4
指令模式 指令 說明 :w [檔名] 將編輯的資料寫入目前檔案 :w! 強制儲存設有唯讀屬性的檔案 :wq 儲存後離開 :wq!
強制儲存後離開 :n 檔名 編輯新檔案 :e 檔名 開啟舊檔案 :r 讀入指定的檔案到游標所在行之後 :q 離開 :q! 不儲存離開 :set nu 顯示行號 :set nonu 取消顯示行號
5
編輯模式 指令 說明 i , I 插入文字到目前游標所在處 a , A 增加文字到目前游標的下一個字元 r 取代游標所在的那一個字元 R
一直取代游標所在的那一個字元到按下Esc 為止 o , O 插入新的一行到目前游標的下一行 Esc 返回一般模式
6
一般模式 -移動游標 指令 說明 h 游標向左移動一個字元 j 游標向下移動一個字元 k 游標向上移動一個字元 l 游標向右移動一個字元 G
移到檔案的最後一行
7
刪除複製與貼上 指令 說明 x Delete X Backspace nx 刪除n個字元 yy 複製游標所在那一行 dd 刪除游標所在的行
y1G 複製游標所在到第一行的所有 ndd 刪除游標所在往下的 n行 d1G 刪除游標所在到第一行的所有資料
8
vim 文書編輯軟體 vim 是 Linux 中功能相當強的編輯工具, 其前身是 Unix 系統下元老級的文書編 輯程式 vi , 也是目前 Linux 預設的編輯 軟體。
9
3 種主要的模式 normal mode:我們一開始進入 vim 時, 預設的模式就是 normal mode。在 此模式下, 我們無法輸入任何文字, 不過 可以利用按鍵指令來執行許多操作命令, 例如移動游標位置、複製、刪除...。 insert mode:進入 vim 之後, 按 [a]、[i] 或 [o] 鍵, 即可進入 insert mode, 在此模 式下, 我們才可以輸入文字內容。
10
3 種主要的模式 command-line mode:在 normal mode 中按 [:] 即會進入 command-line mode, 在此模式下, 我們可以做一些與 輸入文字無關的事, 例如搜尋字串、儲 存檔案或結束編輯等。
11
3 種主要的模式
12
由於 vim 的功能繁多, 首先我們來看看 vim 的編輯環境, 以及如何結束 vim。
請在文字模式視窗或虛擬主控台中執行 vim 指令, 或是執行 vim 檔案名稱指定要 編輯的檔案(由於在虛擬主控台中開啟 vim, 因中文字都會變成亂碼, 所以請先 執行 LANG=C 指令, 改以英文顯示, 再執 行 vim 指令):
13
用 vi 與 vim 指令編輯文件的差異 vi 原本是 Unix 的文書編輯器, 後來 Linux 也延用了此傳統的編輯器, 因此許 多人習慣以vi 檔案名稱指令來編輯文件。 vim 編輯器會將註解、變數等文字加上 顏色, 讓使用者可以方便地編輯設定檔、 程式碼等檔案。
14
用 vi 與 vim 指令編輯文件的差異 不過在 Fedora Core 下面執行 vi 指令時, 只會啟動一個精簡版本的 vim, 因此編輯 檔案時不會有顏色, 必須使用 vim 編輯 檔案才會有顏色。所以習慣以 vi 檔案 名稱指令來編輯文件的人, 可以建立下 面連結:
15
用 vim 編寫文件 進入 vim 時預設的模式是 normal mode, 無法輸入文字, 現在我們要開始編寫一 個文字檔, 請按 [i] 鍵切換到 insert mode:
16
用 vim 編寫文件
17
用 vim 編寫文件 其實要切換到 insert mode, 除了按 [i] 鍵外, 還可以按 [a] 或 [o] 鍵進入 insert mode, 筆 者將三者的差別整理如下: 按 [i] 鍵:從目前游標所在位置的下一個字元開 始輸入。 按 [a] 鍵:從游標所在位置插入新輸入的字元。 按 [o] 鍵:新增加一行, 並將游標移到下一行的 開頭。
18
儲存檔案、離開 vim 編寫好文件之後, 接下來便要存檔及離 開 vim, 請按 [Esc] 鍵回到 normal mode, 然後按 [:] 鍵進入 command-line mode, 輸入 "w 檔案的路徑及名稱":
19
儲存檔案、離開 vim
20
進入 vim 後, 如何開啟既有文字檔? 如果您在進入 vim 之後, 想要開啟既有 的檔案 (例如要開啟 /tmp 目錄中的 text.txt), 可以按 [:] 鍵進入 command- line mode, 然後輸入 "e 檔案的路徑及名 稱":
21
進入 vim 後, 如何開啟既有文字檔?
22
vim 的操作指令 移動游標位置 複製文字 刪除文字 尋找及取代文字
23
移動游標位置 無論在 normal mode 或 insert mode, 都 可以使用方向鍵來移動游標所在的位置, 但在方向鍵不能使用的時候, 則必須切 換到 normal mode 再配合下列幾組按鍵 命令來移動游標 (以下按鍵命令前的 “^”, 表示先按住 [Ctrl] 鍵, 再按其他的 英文字母)。
24
移動游標的基本操作 h:將游標向左移動一格。 l:將游標向右移動一格。 j:將游標向下移動一行。 k:將游標向上移動一行。
^b:將游標向前面捲動一頁, 相當於按 [Page Up] 鍵。 ^f:將游標向文章後面移動一頁, 相當 於按 [Page Down] 鍵。
25
移動游標的進階操作 0 (數目字 0):將游標移到該行的最前面。 $ (請按 [Shift] + [4] 鍵):將游標移到 該行的最後面。
G:將游標移到最後一行的開頭。 w 或 W:將游標移到下一個字。 e 或 E:將游標移到本單字的最後一個 字元;如果游標所在位置為本單字的最 後一個字元, 則跳到下一個單字的最後一 個字元。
26
移動游標的進階操作 b:將游標移到本單字的第一個字元; 如果游標所在位置為本單字的第一個字 元 , 則跳到上一個單字的第一個字元。
[[:在編輯 C/C++/PHP 等程式時, 連按 兩次 [ [ ] 鍵可將游標移至函式開頭的 “{” 處, 再連按兩次則會將游標移至上 一個函式開頭的 “{” 處。 ]]:在編輯 C/C++/PHP 等程式時, 連按 兩次 [ ] ] 鍵可將游標移至下一個函式 開頭的 "{" 處。
27
移動游標的進階操作 當要捲動螢幕內容的時候, 可以使用 [Page Up] 與 [Page Down] 鍵換頁。但 在這 2 個鍵不能使用的時候, 除了第 頁介紹的^b 及^f 外,還可以用下 列幾個組合鍵: ^u:將游標向前移動半頁。 ^d:將游標向後移動半頁。 ^e:螢幕向下捲動一行, 也可以說檔案 內容和游標向上捲動一行。 ^y:螢幕向上捲動一行, 也可以說檔案 內容和游標向下捲動一行。
28
複製文字 複製文字可以省下重複輸入的時間, vim 也提供了以下的操作按鍵:
yy:連續按 [y] 鍵, 可將游標目前所在位 置的整行複製, 複製時並不會將文字反 白顯示。 nyy:其中 n 為數字鍵, 表示要複製的行 數。若按 [3] [y] [y] 鍵, 則將連同游標所 在位置的一行, 與下面 2 行 (共 3 行) 一 起複製。
29
複製文字 yw:按 [y] [w] 鍵可複製游標所在位置 到此單字結束的字元。
nyw:若按 [3] [y] [w] 鍵, 則會將目前游 標所在位置到單字結束, 以及後面的2 個 單字 (共 3 個單字) 一起複製 (n 表示要 複製的單字數目)。 p:可將複製的字貼在目前游標所在的 位置。若複製的是整行文字, 則會將整行 內容貼在游標所在位置的下一行。
30
刪除文字 要刪除文字時, 可以一次刪除一個字元, 也可以一次刪除好幾個字元或是整行文 字:
要刪除文字時, 可以一次刪除一個字元, 也可以一次刪除好幾個字元或是整行文 字: d:先按 [d] 鍵放開後, 然後按 [←] 鍵, 可將游標位置前一個字元刪除。按 [→] 鍵, 則會將游標位置的字元刪除。按 [↑] 鍵, 可將目前游標所在的行與前一行一 併刪除。按 [↓] 鍵, 可將目前游標所在 的行與下一行刪除。 D:可刪除一行中, 游標所在位置之後 的所有字元。
31
刪除文字 dd:連按 2 次 [d] 鍵可刪除游標所在那 一行。所以千萬不要按著 鍵不放 , 因為 會連著刪除好幾行。
dw:將游標停在某個字的第一個字元, 按 [d] [w] 鍵時, 會將此單字整個刪除。 若將游標置於某個字中間的字元上, 則 會將此單字中, 游標後面的字元刪除。
32
刪除文字 nd:n 為數字, 若按 [3] [d] 表示標示游 標位置的上或下方 3 行。再按下 [↑] 鍵, 則刪除游標上方 3 行, 再包括本身 1 行, 共刪除 4 行。若按下 [↓] 鍵 , 則刪除游 標下方 3 行, 再包括本身 1 行, 共刪除 4 行。 ndd:若按 [3] [d] [d] 鍵, 表示刪除目前 游標位置的 1 行與下面的 2 行。 x:刪除游標所在位置的字元, 用法與鍵 盤上的 [Detele] 鍵相同。
33
刪除文字 X:刪除游標位置前面一個字元, 與 [d] + [←] 鍵一樣。
nx:按 [4] [x] 鍵, 表示刪除游標位置後 的 3 個字元, 與游標本身所在的字元。 nX:按 [4] [X] 鍵, 表示刪除游標位置 之前的 4 個字元 (不包括游標的字元)。
34
尋找及取代文字 / 或 ?:當要搜尋文章中的某一個字串 時, 可輸入 “/” 或 “?”, 然後再輸入要尋 找的字串。例如輸入 “/gz” 或 “?gz”, 然後按 [Enter] 鍵, vim 就會把所有的 gz 字串標記起來, 並自動將游標移到第一 個找到的字串上。 n:將游標移到下一個找到的字串上。 N:將游標移到上一個找到的字串上。
35
尋找及取代文字 r:取代游標所在位置的字元。修改內容不 一定要進入 insert mode, 在 normal mode 中, 只要將游標移到要更改的字元上, 然後按 [r] 鍵, 就可以輸入要替換的字元了。 cc:按 [c] [c] 鍵可取代游標所在的那一行。 替換字串:當我們要將文章中的某一個字 串全部替換時 (例如將所有的 temp 換成 tmp), 使用 ":g/temp/s//tmp/g" 或是 ":%s/temp/tmp/g" 命令, 可以立刻將所有 "temp" 字串換成 "tmp" 字串。
36
尋找及取代文字 如果不是所有的 "temp" 字串都要替換 時, 可用 ":g/temp/s//tmp/gc" 或 ": %s/temp/tmp/gc" 命令。則找到每一個 "temp" 字串時, 都會將整行顯示在螢幕 下方, 您可輸入 "y" 或 "n" 決定是否要替 換。
37
顯示游標所在行數、移到指定 行數 當我們在寫程式的時候, 常常會需要跳 到某一行去修改, 因此每一行的號碼就 相當重要。vim 也為此提供了幾個按鍵 組合: ^g、^G:按此組合鍵, 則會在最下方處 顯示游標所在位置(以百分比表示), 以及 文章的總行數。 nG:n 為數字, 若按下 [2] [0] [g], 則可 將游標移到第 20 行。
38
復原上一個動作 u:按此鍵就是在執行 undo 指令, 可取 消前一次的動作。在 vim 中, undo 並沒 有次數上的限制, 也就是您可以無限制 的執行 undo。 ^r:按此鍵就是在執行 redo 指令。可 以回復剛才 undo 的動作。
39
一個操作 vim 不可不知的指令: 英文的句點, 可以讓您重複編輯動作
Similar presentations