Ch4 vi editor(2013 ncu-nos_nm)

20
Editor CSIE 基爾 @ NCU網路開源社 Updated: 11172013

Transcript of Ch4 vi editor(2013 ncu-nos_nm)

Page 1: Ch4    vi editor(2013 ncu-nos_nm)

Editor

CSIE 基爾 @ NCU網路開源社

Updated: 11172013

Page 2: Ch4    vi editor(2013 ncu-nos_nm)

課程

• 相關學分:編譯器

• 等級:基本

• 背景知識:NO

• 課程目標:• 懂得如何使用vi編輯器

Page 3: Ch4    vi editor(2013 ncu-nos_nm)

Editor

Page 4: Ch4    vi editor(2013 ncu-nos_nm)

編輯器的存在

• 是為了要讓我們編輯檔案的。(廢話!)

• 編輯器@圖形化介面

• 編輯器@純指令介面

• http://hackertyper.com/

Page 5: Ch4    vi editor(2013 ncu-nos_nm)

編輯器種類

emacs

vi / vim

nano

ee

.

.

.

Page 6: Ch4    vi editor(2013 ncu-nos_nm)

我們可以先嘗試用ee這套編輯器

#使用ee編輯檔案

$ ee <filename>

Page 7: Ch4    vi editor(2013 ncu-nos_nm)

Vi - Basic

Page 8: Ch4    vi editor(2013 ncu-nos_nm)

為什麼我挑Vi? (by Vbird)

• 所有的 Unix Like 系統都會內建 vi 文書編輯器

• 很多個別軟體的編輯介面都會主動呼叫 vi

• vim 具有程式編輯的能力

• 編輯速度快

Page 9: Ch4    vi editor(2013 ncu-nos_nm)

Mode (模式)

• 一般模式:<esc>• 命令模式:<一般模式下輸入特殊關鍵字>

• 視覺模式:<v @ 一般模式>

• 編輯模式:<i>,<insert>

#切換一般模式

$ <esc>

#切換編輯模式

$ <i> 或 <insert>

Page 10: Ch4    vi editor(2013 ncu-nos_nm)

編輯檔案、開新檔案

@vi

檔案若不存在 > 檔案會暫存

@vim

檔案若不存在 > 存檔時會要求取檔名

非常不建議編輯不存在的檔案

#開新檔案

$ vi <filename>

#開啟舊檔

$ vi <filename>

Page 11: Ch4    vi editor(2013 ncu-nos_nm)

編輯模式:編輯檔案

#切換回家目錄

$ cd ~

#新增檔案 test.txt

$ touch test.txt

#編輯檔案

$ vi test.txt

#切換模式編輯

$ <insert>

Page 12: Ch4    vi editor(2013 ncu-nos_nm)

一般模式:刪除行

• dd @ 模式底下 #切換一般模式

$ <esc>

#移動刪除目標行

#輸入命令

$ <d>+<d>

Page 13: Ch4    vi editor(2013 ncu-nos_nm)

一般模式:上一步、下一步

• 復原:u @一般模式

• 恢復復原: . @一般模式#到一般模式

$ <esc>

#復原

$ <u>

#放棄復原

$ <.>

Page 14: Ch4    vi editor(2013 ncu-nos_nm)

命令模式:搜尋

• / @ 一般模式

• 一次只能搜尋一個,從頭開始

• 找完會顯示Search wrapped

#到一般模式

$ <esc>

#輸入/進入命令模式

$ </>

#在命令/後尋找t字元

$ / t

Page 15: Ch4    vi editor(2013 ncu-nos_nm)

命令模式:存檔、離開

• 命令的開始: : @ 一般模式

• 存檔::w

• 離開::q

• 存檔+離開::wq

• 強制存檔::w!

#到一般模式

$ <esc>

#進入命令模式

$ <:>

#存檔後離開

$ :wq

Page 16: Ch4    vi editor(2013 ncu-nos_nm)

Vim

Page 17: Ch4    vi editor(2013 ncu-nos_nm)

vim

• 全名:vi improved

• 意旨進化版的vi編輯器

• 在Freebsd裡面並非內建

Page 18: Ch4    vi editor(2013 ncu-nos_nm)

客製化自己的vim @ .vimrc

• VI編譯器能夠下命令改造

• Example:set nu #加入行號#編輯test.txt

$ vi test.txt

#進入命令模式

$ <:>

#下命令set nu

$ :set nu

Page 19: Ch4    vi editor(2013 ncu-nos_nm)

.vimrc範例

Page 20: Ch4    vi editor(2013 ncu-nos_nm)

視覺模式:區塊編輯

• 複製:y @ 視覺模式標記內容

• 貼上:p @ 視覺模式標記內容

• 刪除:d @視覺模式標記內容

• only in vim

• vi只有提供單行編輯

#到一般模式

$ <esc>

#移動到標記首位

#切換視覺模式

$ <v>

#複製

$ <y>

#到一般模式

$ <esc>

#移動到貼上位置

#貼上

$ <p>