iT邦幫忙

2019 iT 邦幫忙鐵人賽

DAY 8
0
自我挑戰組

vim不m系列 第 8

Day08 - 一個 u 有多大

在 vim 中,按一次 u 到底會恢復多少東西呢?

首先我們要先知道 u 的功能是取消最後一次的修改
這些修改在 normal, visual, command 模式中很好界定範圍
但 insert 模式時就有點不同

在一般的編輯器中, undo 有兩種可能
一種是最後一個輸入的字元( character )
另一種比較聰明,可以自動判斷字( word )

在 vim 中,我們可以自己控制這個區塊的大小
從進入 insert 模式開始,直到離開,這些都會被當成是同一個區塊
因此我們可以適時使用 <Esc> ,來自由控制一次恢復區壞的大小
可以是一個字元、一個字、一個句、一個段、一個檔案

那麼到底多久應該離開 insert 模式呢?
施主,這個問題應該問你自己

正常當你停頓下來思考的時候,就是一個好的時間點、一個自然的中斷點
若接下來內容怪怪的,便可以回到上次的中斷點重新開始
有點像是玩遊戲要打王或是進入新關卡前
覺得接下來可能不好過關,或是劇情的分岐點
那應該先存檔,給自己一些空間

有時當需要換行或進入下一段時,就算正處於 insert 模式
也可以使用 <Esc>o 先製造一個中斷點,而不是直接 <CR>
或許這樣會是一個更恰當恢復區塊

如果你常在思考目前,我應不應該退出 insert 模式?
那就退出吧,你的思考已經中斷了不是嗎?

有一個小地方需要注意,如果在 insert 模式中,使用了方向鍵的話
那也會產生一個中斷點,跟退回 normal 模式中,使用 h j k l 是一樣的


上一篇
Day07 - normal 模式
下一篇
Day09 - 打造可重複的修改
系列文
vim不m30
圖片
  直播研討會
圖片
{{ item.channelVendor }} {{ item.webinarstarted }} |
{{ formatDate(item.duration) }}
直播中

尚未有邦友留言

立即登入留言