[vim ] 關於 text object 的問題

看板Editor (編輯器(vim/emacs))作者 (透明石油)時間8年前 (2016/06/01 23:38), 編輯推噓5(503)
留言8則, 3人參與, 最新討論串1/1
對於 ci 指令取代文字的部分,覺得有點疑問,想請教網友的意見。 假設我有底下的文字 This is a "string" 在 VIM 下,假設游標在行首(即字母 T 處),當我按下 ci" 時, " " 中的字串會被刪掉,並且游標會停在 "" 中。 但若是底下的文字,且游標也是在行首 int arr[3] = {0, 1, 2}; 當按下 ci[ 時,卻不會有任何的反應。 不過若是我先 f[,這時再 ci[,則是會把 [] 中的3刪掉,並且游標停在 [] 中。 我要問的是,為什麼 ci[ 不會像 ci" 一樣,由行首直接移到 [] 中,並把 [] 中的文字都刪除呢? -- ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 114.39.172.39 ※ 文章網址: https://www.ptt.cc/bbs/Editor/M.1464795530.A.BDA.html

06/02 02:16, , 1F
http://tinyurl.com/zc582k2 這邊是說只能同一行
06/02 02:16, 1F

06/02 02:17, , 2F
不過ci[可以是跨行的 所以就沒有這種福利(?)
06/02 02:17, 2F

06/02 02:19, , 3F
btw 剛好看到居然有[cdv]2i"這種怪招 還真是處處有驚奇
06/02 02:19, 3F

06/02 12:03, , 4F
看不太懂樓上這招,可以稍微解釋一下嗎?感謝
06/02 12:03, 4F

06/02 16:26, , 5F
"def" ghi 使用va"會選到["def" ]用v2i"會選["def"]而已
06/02 16:26, 5F

06/02 16:27, , 6F
然後vi"是選[def]而已這應該不用解釋
06/02 16:27, 6F

06/02 16:48, , 7F
瞭解,感謝~~
06/02 16:48, 7F

06/05 17:53, , 8F
謝謝ckc1ark指出v2i這招,學習了,感謝!
06/05 17:53, 8F
文章代碼(AID): #1NJm6AlQ (Editor)
文章代碼(AID): #1NJm6AlQ (Editor)