[vim ] 關於 text object 的問題

作者: justim (透明石油)   2016-06-01 23:38:48
對於 ci 指令取代文字的部分,覺得有點疑問,想請教網友的意見。
假設我有底下的文字
This is a "string"
在 VIM 下,假設游標在行首(即字母 T 處),當我按下 ci" 時,
" " 中的字串會被刪掉,並且游標會停在 "" 中。
但若是底下的文字,且游標也是在行首
int arr[3] = {0, 1, 2};
當按下 ci[ 時,卻不會有任何的反應。
不過若是我先 f[,這時再 ci[,則是會把 [] 中的3刪掉,並且游標停在 [] 中。
我要問的是,為什麼 ci[ 不會像 ci" 一樣,由行首直接移到 [] 中,並把 []
中的文字都刪除呢?
作者: ckc1ark (偽物)   2016-06-02 02:16:00
http://tinyurl.com/zc582k2 這邊是說只能同一行不過ci[可以是跨行的 所以就沒有這種福利(?)btw 剛好看到居然有[cdv]2i"這種怪招 還真是處處有驚奇
作者: yea107 (ㄚ隆)   2016-06-02 12:03:00
看不太懂樓上這招,可以稍微解釋一下嗎?感謝
作者: ckc1ark (偽物)   2016-06-02 16:26:00
"def" ghi 使用va"會選到["def" ]用v2i"會選["def"]而已然後vi"是選[def]而已這應該不用解釋
作者: yea107 (ㄚ隆)   2016-06-02 16:48:00
瞭解,感謝~~
作者: goldie (阿良)   2016-06-05 17:53:00
謝謝ckc1ark指出v2i這招,學習了,感謝!

Links booklink

Contact Us: admin [ a t ] ucptt.com