Ch4 vi editor(2013 ncu-nos_nm)
Transcript of Ch4 vi editor(2013 ncu-nos_nm)
Editor
CSIE 基爾 @ NCU網路開源社
Updated: 11172013
課程
• 相關學分:編譯器
• 等級:基本
• 背景知識:NO
• 課程目標:• 懂得如何使用vi編輯器
Editor
編輯器的存在
• 是為了要讓我們編輯檔案的。(廢話!)
• 編輯器@圖形化介面
• 編輯器@純指令介面
• http://hackertyper.com/
編輯器種類
emacs
vi / vim
nano
ee
.
.
.
我們可以先嘗試用ee這套編輯器
#使用ee編輯檔案
$ ee <filename>
Vi - Basic
為什麼我挑Vi? (by Vbird)
• 所有的 Unix Like 系統都會內建 vi 文書編輯器
• 很多個別軟體的編輯介面都會主動呼叫 vi
• vim 具有程式編輯的能力
• 編輯速度快
Mode (模式)
• 一般模式:<esc>• 命令模式:<一般模式下輸入特殊關鍵字>
• 視覺模式:<v @ 一般模式>
• 編輯模式:<i>,<insert>
#切換一般模式
$ <esc>
#切換編輯模式
$ <i> 或 <insert>
編輯檔案、開新檔案
@vi
檔案若不存在 > 檔案會暫存
@vim
檔案若不存在 > 存檔時會要求取檔名
非常不建議編輯不存在的檔案
#開新檔案
$ vi <filename>
#開啟舊檔
$ vi <filename>
編輯模式:編輯檔案
#切換回家目錄
$ cd ~
#新增檔案 test.txt
$ touch test.txt
#編輯檔案
$ vi test.txt
#切換模式編輯
$ <insert>
一般模式:刪除行
• dd @ 模式底下 #切換一般模式
$ <esc>
#移動刪除目標行
#輸入命令
$ <d>+<d>
一般模式:上一步、下一步
• 復原:u @一般模式
• 恢復復原: . @一般模式#到一般模式
$ <esc>
#復原
$ <u>
#放棄復原
$ <.>
命令模式:搜尋
• / @ 一般模式
• 一次只能搜尋一個,從頭開始
• 找完會顯示Search wrapped
#到一般模式
$ <esc>
#輸入/進入命令模式
$ </>
#在命令/後尋找t字元
$ / t
命令模式:存檔、離開
• 命令的開始: : @ 一般模式
• 存檔::w
• 離開::q
• 存檔+離開::wq
• 強制存檔::w!
#到一般模式
$ <esc>
#進入命令模式
$ <:>
#存檔後離開
$ :wq
Vim
vim
• 全名:vi improved
• 意旨進化版的vi編輯器
• 在Freebsd裡面並非內建
客製化自己的vim @ .vimrc
• VI編譯器能夠下命令改造
• Example:set nu #加入行號#編輯test.txt
$ vi test.txt
#進入命令模式
$ <:>
#下命令set nu
$ :set nu
.vimrc範例
視覺模式:區塊編輯
• 複製:y @ 視覺模式標記內容
• 貼上:p @ 視覺模式標記內容
• 刪除:d @視覺模式標記內容
• only in vim
• vi只有提供單行編輯
#到一般模式
$ <esc>
#移動到標記首位
#切換視覺模式
$ <v>
#複製
$ <y>
#到一般模式
$ <esc>
#移動到貼上位置
#貼上
$ <p>