時間:2014.06.29
地點:基地
----------------------------------------------------------------------------------
一、任務1:使修改可重複
在指定字符前後各添加一個字符。比如在連接字符串的 + 號操作前後均流出一個空格( [ ]+[ ] )
我們知道 s命令可以刪除光標下的字符進入插入模式,現在我們還可以總結一下進入插入模式的幾種方式:
1. i 命令:當前光標前插入
2. a命令:當前光標後插入
3. s命令:當前光標下刪除後插入
4.大寫i命令:當前光標所在行首插入
5.大寫a命令:當前光標所在行尾插入
6.大寫S命令:刪除當前光標所在行插入
7. dd命令:僅僅是刪除當前行,不會進入插入模式
於是小s命令可刪除光標下的字符進入插入模式後的功能後,爲了完成任務我們可先執行小s命令刪除光標下的字符,然後鍵入:空格+空格,然後退出,這樣,按鍵集合:
[ s 空格 + 空格 Esc ]將被記錄下來形成一個修改單元,於是接下來就可採用點號命令了。現在,我們所要做的事情就是把光標移動到下一個 + 號處,然後用 . 命令重複執行這一操作。
----------------------------------------------------------------------------------
二、任務2:使移動可重複
爲了查找本行中某指定字符,我們可以使用 f{char}命令,比如 f+ 後光標將移動到下一個 + 號所在位置。於是,我們沒完成一次修改後都可以使用 f+ 跳轉到該行的下一個 + 號所在位置。但是,更好的方法是使用 ; 號 命令重複查找上次f命令所查找的字符。於是就沒必要多次輸入 f+ 了。
----------------------------------------------------------------------------------
三、綜合上述兩種移動和修改模式
通過上面,我們知道 ;命令可幫我們定位到下一個目標字符上,而 . 命令可重複上次修改,這樣我們配合使用 ;. 就可完成將 + 號修改成 [ ]+[ ]了。
現在比如有一行這樣的代碼:
string str="You"+"are"+"my"+"world";
我們想將 + 號全部改爲 [ ]+[ ] ,步驟如下:
1.先 f+ 光標定位到第一個 + 號
2.小s命令,刪除光標下的+ 號字符 進入插入模式,然後鍵入: [ ]+[ ]
3.Esc退出修改
4.使用 ;號命名重複上次查找,將光標定位
5.使用 . 號命令重複上次修改
6.不斷重複步驟4和5,直到修改完爲止。