1 / 32

第 5 章 文字編輯工具

第 5 章 文字編輯工具. 內容: Vi Vim. vi 與 vim 文字編輯器. 在 Linux 的系統中使用文字編輯器來編輯您的 Linux 參數設定檔 在 Linux 底下有哪些文書編輯器呢? 可多了~例如 vi, emacs, xemacs, joe, e3, xedit, kedit, pico .... 多的很~ 各家處理器各有其優缺點 建議使用 vi 較新的 distributions 上,您也可以使用較新較先進的 vim 這個文書處理器

Download Presentation

第 5 章 文字編輯工具

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. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. 第 5 章 文字編輯工具 內容: Vi Vim

  2. vi 與 vim文字編輯器 • 在 Linux 的系統中使用文字編輯器來編輯您的 Linux 參數設定檔 • 在 Linux 底下有哪些文書編輯器呢? 可多了~例如 vi, emacs, xemacs, joe, e3, xedit, kedit, pico .... 多的很~ 各家處理器各有其優缺點 • 建議使用 vi • 較新的 distributions 上,您也可以使用較新較先進的 vim 這個文書處理器 • vim 可以看做是 vi 的進階軟體,他可以具有顏色顯示,很方便程式開發人員在進行程式的撰寫

  3. vi 與 vim文字編輯器 • vim 則可以說是程式開發者很好用的工具 • 連 vim 的官方網站 (http://www.vim.org) 也說 vim 是一個『程式開發工具』而不是文書處理軟體

  4. vi 的使用 • 共分為三種模式,分別是『一般模式』、 『編輯模式』與『指令列命令模式』三種 • 一般模式 • 以 vi 處理一個檔案的時後,一進入該檔案就是一般模式了。 • 在這個模式中, 你可以使用『上下左右』按鍵來移動游標,您可以使用『刪除字元』或『刪除整行』來處理檔案內容, 也可以使用『複製、貼上』來處理您的文件資料

  5. vi 的使用 • 編輯模式 • 在一般模式中可以處理刪除、複製、貼上等等的動作,但是卻無法編輯的! • 要等到您按下『i, I, o, O, a, A, r, R』等字母之後才會進入編輯模式 • 通常在 Linux 中,按下上述的字母時,在畫面的左下方會出現『 INSERT 或 REPLACE 』的字樣,才可以輸入任何字來輸入到您的檔案中 • 而如果要回到一般模式時, 則必須要按下『Esc』這個按鍵即可退出編輯模式

  6. vi 的使用 • 指令列命令模式 • 在一般模式當中,輸入『 : 或 / 或 ? 』就可以將游標移動到最底下那一行 • 在這個模式當中, 可以提供您『搜尋資料』的動作,而讀取、存檔、大量取代字元、離開 vi 、顯示行號 等等的動作則是在此模式中達成的

  7. Vi三個模式

  8. 使用 vi 建立一個檔案 • 使用 vi 建立一個檔名為 test.txt 的資料 • 使用 vi 進入一般模式 • 左下角還會顯示這個檔案目前的狀態! • 如果是新建檔案會顯示 [New File] • 如果是已存在的檔案,則會顯示目前的檔名、行數與字元數

  9. 使用 vi 建立一個檔案

  10. 按 i 進入編輯模式,編輯文字

  11. 按 i 進入編輯模式,編輯文字 • 一般模式之中,只要按下 I, o, a 等字元,就可以進入編輯模式了 • 發現在左下角會出現 –INSERT- 的畫面,那就是可以輸入任意字元的提示囉 • 這個時候,鍵盤上除了 [Esc] 這個按鍵之外,其他的按鍵都可以視作為一般的輸入按鈕了,所以您可以進行任何的編輯囉 • vi 裡面, [tab] 這個按鈕所得到的結果與空白字元所得到的結果是不一樣的

  12. 退出編輯模式 • 按下 [ESC] 按鈕回到一般模式 (退出) • 按下 [Esc] 這個按鈕即可!馬上你就會發現畫面左下角的 – INSERT – 不見了

  13. 離開 vi • 一般模式中按下 :wq 儲存後離開 vi • 按下 『:』該游標就會移動到最底下一行去 • 存檔並離開的指令很簡單,輸入『:wq』即可存檔離開

  14. 離開 vi • 如果您的檔案權限不對,例如為 -r--r--r-- 時,那麼可能會無法寫入 • 那麼就可以使用『強制寫入』的方式! • 使用『:wq!』 多加一個驚嘆號即可強制寫入!

  15. 命令列內容說明 • 所謂的命令列或命令模式 • 就是在最下面一行沒有顯示 『--INSERT--』或者『--REPLACE--』 字樣的時候

  16. 檔案儲存與離開

  17. vi 中的數字 • 在 vi 中,『數字』是很有意義的 • 數字通常代表重複做幾次的意思 • 也有可能是代表去到第幾個什麼什麼的意思 • 舉例來說,要刪除 50 行,則是用 『50dd』數字加在動作之前 • 那我要向下移動 20 行,就是『20j』或者是『20↓』即可

  18. 練習 • 請建立一個名為 vitest 的目錄 • 進入 vitest 這個目錄當中,將 /etc/man.config 拷貝到本目錄底下 • 使用 vi 開啟本目錄下的 man.config 這個檔案 • 在 vi 中設定一下行號 (:set nu) • 移動到第 58 行,向右移動 40 個字元,請問您看到的雙引號內是什麼目錄(58G)(40) • 移動到第一行,並且向下搜尋一下『 bzip2 』這個字串,請問他在第幾行(1G)(/bzip2)

  19. 練習 • 將 50 到 100 行之間的 man 改為 MAN,且一個一個挑選是否需要修改,如何下指令 • 修改完後,反悔要全部復原,有哪些方法 • 我要複製 51 到 60 行這十行的內容,並且貼到最後一行之後 • 刪除 11 到 30 行之間的 20 行 • 將這個檔案另存成 man.test.config 的檔名 • 去到第 29 行,並且刪除 15 個字元 • 儲存後離開吧!

  20. 答案 • 『cp /etc/man.config .』 • 『vi man.config』 • 『:set nu』 • 先按下『58G』再按下『40→』會看到『/dir/bin/foo』這個字樣在雙引號內 • 先執行『1G』或『gg』後,直接輸入『/bzip2』,則會去到第 116 行才對 • 直接下達『 :50,100s/man/MAN/gc 』即可

  21. 答案 • (1)簡單的方法可以一直按『 u 』回復到原始狀態,(2)使用不儲存離開『 :q! 』之後,再重新讀取一次該檔案 • 『51G』 然後再『 10yy 』之後按下『 G 』到最後一行,再給他『 p 』貼上十行 • 『11G』 後,再下『 20dd 』即可刪除 20 行了 • :w man.test.config • 『29G』 之後,再給他『 15x 』即可刪除 15 個字元 • 『:wq!』

  22. 檔案的回復與暫存檔 • vi 是具有『可回復』功能 • 當我們編輯一個檔案時,假設名稱為 /tmp/passwd , 那麼在這個 /tmp 底下就會有一個暫存檔案,檔名為『 /tmp/.passwd.swp 』,這是一個隱藏檔 • 我們所進行的一些修改都會暫時存在這個檔案當中,萬一在檔案修改過程中, 系統掛了,那麼下次你再重新 vi /tmp/passwd 時,系統就會告訴您,是否需要回復『Recovery』成修改過程中的模樣 • 如果您按下 (R) ,就可以將資料回復到修改過程的樣子,而不是原始檔案囉

  23. 檔案的回復與暫存檔 • 若/tmp 底下,執行 ls -al 時 • 發現到底下有兩個檔案, 檔名分別為 passwd 與 .passwd.swp 的話 • (1) 可能有人在編輯這個檔案 • (2) 之前您在編輯這個檔案時,因為某些不知名的因素導致 vi 程式中斷,則該暫存檔就會存在。 • 您可以將該 .passwd.swp 檔案刪除,或者是,直接 vi /tmp/passwd , 在 vi 出現是否回復時,選擇回復,然後儲存更新 /tmp/passwd ,之後再將這個 /tmp/.passwd.swp 檔案刪除即可 • 如果不刪除的話,那麼每次編輯這個檔案,都會告知您該檔案有問題

  24. vim • 目前大部分的 distributions 都以 vim 取代 vi 的功能 • 如果您使用 vi 後,卻看到畫面的右下角有顯示目前游標所在的行列號碼, 那麼您的 vi 已經被 vim 所取代囉 • 為什麼要用 vim 呢?因為 vim 具有顏色顯示的功能,並且還支援許多的程式語法 (syntax)

  25. vim • 如果您在文字模式下,輸入 alias 時,出現這樣的畫面 • 表示當您使用 vi 這個指令時,其實就是執行 vim 啦 • vim 的一般用法與 vi 完全一模一樣

  26. vim • 編輯 /etc/man.config ,則輸入『vim /etc/man.config』 • 最底下一行說明這個檔案的特色,包括 138 行,共 4506 字元等等 • 那個 1,1 代表目前游標在第一行的第一個字元上。您可以看到第一行有個游標的存在 • 那個 Top 則表示,這個畫面是整個檔案的最上方

More Related