Presentation is loading. Please wait.

Presentation is loading. Please wait.

Linux Programming Tutoring

Similar presentations


Presentation on theme: "Linux Programming Tutoring"— Presentation transcript:

1 Linux Programming Tutoring
- Introduction to Editors for Linux

2 Outline vim基本指令 自定vim設定檔 (.vimrc) vim進階技巧 emacs基本指令 emacs特殊功能

3 vim Overview 一般模式 編輯模式 指令列命令模式 vim預設的模式 可以移動游標 『刪除字元』或『刪除整行』
也可以『複製、貼上』來處理你的文件資料 編輯模式 一般模式中按下『i, I, o, O, a, A, r, R』之後進入編輯模式 可編輯文件內容 按下『Esc』這個按鍵即可退出編輯模式 指令列命令模式 一般模式中輸入『 : / ? 』即可進入此模式 可以『搜尋資料』 讀取、存檔、大量取代字元、離開 vi 、顯示行號

4 vim Overview 一般模式 編輯模式 i,o,a(插入)r,R(取代) [ESC] :,/,? 指令列模式 [ESC]

5 vim一般模式常用指令(1/2) h 或 向左方向鍵(←) 游標向左移動一個字元 j 或 向下方向鍵(↓) 游標向下移動一個字元
k 或 向上方向鍵(↑) 游標向上移動一個字元 l 或 向右方向鍵(→) 游標向右移動一個字元 nh / nj /nk /nl n為數字。游標向左/下/上/右移動n個字元 n← / n↓ / n↑ / n→ 游標向左/下/上/右移動n個字元 [Ctrl] + [f] 螢幕『向下』移動一頁 [Ctrl] + [b] 螢幕『向上』移動一頁 [Ctrl] + [d] 螢幕『向下』移動半頁 [Ctrl] + [u] 螢幕『向上』移動半頁 n<space> n為數字。按下數字後再按空白鍵,游標會向右移動這一行的 n 個字元

6 vim一般模式常用指令(2/2) G 移動到這個檔案的最後一行 nG n 為數字。移動到這個檔案的第 n 行 gg 移動到這個檔案的第一行
x, X x 向後刪除一個字元, X 為向前刪除一個字元 dd / ndd 刪除游標所在的那一 / n 列 yy / nyy 複製游標所在的那一 / n 行 p, P p 為將已複製的資料在游標下一行貼上,P 則為貼在游標上一行 u 復原前一個動作 [Ctrl]+r 重做上一個動作 . 重複前一個動作

7 vim編輯模式常用指令 i, I 進入插入模式(Insert mode): i 為從目前游標所在處插入
a, A 進入插入模式(Insert mode): a 為從目前游標所在的下一個字元處開始插入 A 為從游標所在行的最後一個字元處開始插入 o, O 進入插入模式(Insert mode): o 為在目前游標所在的下一行處插入新的一行 O 為在目前游標所在處的上一行插入新的一行 r, R 進入取代模式(Replace mode): r 只會取代游標所在的那一個字元一次 R會一直取代游標所在的文字,直到按下 ESC 為止 [Esc] 退出編輯模式,回到一般模式中

8 vim指令列模式常用指令 :w / :w! 將編輯的資料寫入 / 強制寫入硬碟檔案中 :q / :q! 離開 / 強制離開 vi
:wq / :wq! 儲存後離開 / 強制儲存後離開 ZZ 若檔案沒有更動,則不儲存離開 若檔案已經被更動過,則儲存後離開 :! command 暫時離開 vi 到指令列模式下執行 command 的顯示結果 :set nu 顯示行號 :set nonu 取消行號

9 vim搜尋及取代常用指令 /word 向游標之下尋找一個名稱為 word 的字串 ?word 向游標之上尋找一個字串名稱為 word 的字串
n n 是英文按鍵。重複前一個搜尋的動作 N N 是英文按鍵。反向進行前一個搜尋動作 :n1,n2s/word1/word2/g n1 與 n2 為數字。在第 n1 與 n2 行之間尋找 word1 這個字串,並將該字串取代為 word2 :1,$s/word1/word2/g 從第一行到最後一行尋找 word1 字串,並將該字串取代為 word2 :1,$s/word1/word2/gc 同上。但取代前顯示提示字元給使用者確認

10 vim 環境設定 使用者vim設定檔為 ~/.vimrc 系統之vim設定檔通常為 /etc/vim/vimrc 或 /etc/vimrc
一般模式下輸入 :set all 可顯示所有設定選項

11 vim常用設定 set nu set nonu 設定 / 取消 行號 set hlsearch set nohlsearch
設定 / 取消 high light search set autoindent set noautoindent 設定 / 取消自動縮排 set backup 是否自動儲存備份檔 set ruler 顯示右下角的一些狀態列說明 syntax on syntax off 設定 / 取消 依據程式相關語法顯示不同顏色 set bg=dark set bg=light 可用以顯示不同的顏色色調,預設是 light

12 .vimrc 設定範例 "這個檔案的雙引號 (") 是註解 set hlsearch "高亮度反白 set autoindent "自動縮排
set ruler "可顯示最後一行的狀態 set showmode "左下角那一行的狀態 set nu “每行最前面顯示行號 set bg=dark "顯示不同的底色色調 syntax on “進行語法檢驗顏色顯示

13 vim 的暫存檔(1/2) vim 會在與被編輯檔案的目錄下,建立一個 .filename.swp 檔案

14 vim 的暫存檔(2/2) [O]pen Read-Only:打開此檔案成為唯讀檔, 可以用在你只是想要查閱該檔案內容並不想要進行編輯行為時
(E)dit anyway:還是用正常的方式打開你要編輯的那個檔案, 並不會載入暫存檔的內容 (R)ecover:載入暫存檔的內容,用在要救回之前未儲存的工作。 不過當你救回來並且儲存離開 vim 後,還是要手動自行刪除那個暫存檔 (D)elete it:開啟檔案前會先將這個暫存檔刪除 (Q)uit:按下 q 就離開 vim ,不會進行任何動作回到命令提示字元。 (A)bort:忽略這個編輯行為,與 quit 非常類似

15 vim多重檔案編輯 想要將 A 檔案內的十條消息『移動』到 B 檔案去,通常要開兩個 vim 視窗來複製, 偏偏每個 vim 都是獨立的,因此並沒有辦法在 A 檔案下達『 nyy 』再跑到 B 檔案去『 p 』!此時這個多檔案編輯就派上用場了! :n 編輯下一個檔案 :N 編輯上一個檔案 :files 列出目前這個 vim 的開啟的所有檔案

16 vim多重視窗編輯 :sp [filename]
[ctrl]+w+ j [ctrl]+w+↓ 按鍵的按法是:先按下 [ctrl] 不放, 再按下 w 後放開所有的按鍵,然後再按下 j (或向下方向鍵),則游標可移動到下方的視窗 [ctrl]+w+ k [ctrl]+w+↑ 同上,不過游標移動到上面的視窗 :vsp [filename] 同sp,差別為視窗左右分割 [ctrl]+w+ h [ctrl]+w+← 游標移動到左方的視窗 [ctrl]+w+ l [ctrl]+w+→ 游標移動到右方的視窗 [ctrl]+w+ q 結束離開,等同於 :q

17 emacs 快速入門 如果emacs是在X視窗啟動,則會自動開啟一個新視窗,如果不想如此可以下命令時加入 –nw 選項:
$emacs –nw 基本指令 C-x C-f 開啟新檔或舊檔 C-x C-s 存檔 C-x C-w 另存新檔 C-x C-c 離開 註:C-x 代表 Control x

18 emacs常用指令 C-b 或 ← 游標向左移動一個字元 C-n 或 ↓ 游標向下移動一個字元 C-p 或 ↑ 游標向上移動一個字元
C-f 或 → 游標向右移動一個字元 C-v 螢幕『向下』移動一頁 M-v 螢幕『向上』移動一頁 M-b 游標向左移動一個字(word) M-f 游標向右移動一個字(word) C-a / M-a 移動到行首 / 句首 C-e / M-e 移動到行尾 / 句尾 註:M-x 代表 META x 若沒META鍵通常為[ESC]鍵

19 emacs常用指令 M-< 移動到檔頭 M-> 移動到檔尾 C-d 刪除游標後一個字元 Backspace 刪除游標前一個字元
M-Backspace 刪除游標前一個字(word) M-d 刪除游標後一個字(word) C-k / M-k 刪除從游標所在到行尾 / 句尾 或 C-Space 再 C-w 先按 再移動游標後按 C-w 則刪除這範圍內的字 C-u 用來設定數字參數 例如: C-u 20 C-n 向下移動20行 C-_ 或 C-x u Undo C-g 取消某指令

20 emacs複製和貼上 C-y yanking
只要用 kill (C-k, M-k等) 刪除,超過一個字的資料,emacs就會把它存起來,然後 C-y 可以把它叫出來。功能跟Cut & Paste一樣。Kill 和 delete 不一樣,只有被 kill 掉的東西才能用 yank 吐回來。 游標在同一地方不動,連續kill掉的資料會被當成一次kill掉的,yank時會一起回來。 M-w  先用 C-Space 或 設,然候把游標移到另一端,按 M-w 就可以把 mark 到 point間的字存到kill ring上。

21 emacs搜尋相關指令 C-s 向後搜尋 C-r 向前搜尋 找到了之後按 C-g 可以取消搜尋,跳回原來的位置

22 emacs視窗相關指令 C-x 2 水平分割視窗 C-x 3 或 F2 垂直分割視窗 C-x > 視窗向右捲動 C-x <
視窗向左捲動 C-x o  切換至另一視窗 C-x 0 關閉目前視窗 C-x 1  關閉其他視窗,僅留此視窗 C-x b  切換 buffer C-x k 關閉當前buffer C-x C-b 列出目前所有編輯中的緩衝區清單

23 emacs特殊功能 M-x shell 在emacs中開啟一個shell M-! 執行external shell command
M-x dired 或 C-x d a file manager M-x tetris 俄羅斯方塊 M-x hanoi Towers of Hanoi game M-x doctor Emacs psychotherapist M-x calculator calculator M-x calendar calendar M-x phases-of-moon 查詢月相 M-x compile Invokes make M-x gdb Invokes gdb

24 Reference vim emacs http://linux.vbird.org/linux_basic/0310vi.php
emacs


Download ppt "Linux Programming Tutoring"

Similar presentations


Ads by Google